StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
Уважаемые форумчане, требуется скрипт показывающий количество роботов на сайте (только роботов, без имен и ip).Нужно в том месте где будет показываться количество ботов, выводилось с помощью <?php include("onlinesql.php"); ?>. За работу будет оплата. Приложения рассматриваются и приветствуются.
Последнее редактирование:
nevek
Участник
- Сообщения
- 2
- Реакции
- 0
Здравствуйте, выполняю любые услуги в сфере серверного программирования (php 5.+>;ajax & php;MySQL),StalkerNSK написал(а):Уважаемые форумчане, требуется скрипт показывающий количество ботов на сайте (только ботов, без имен и ip).Нужно в том месте где будет показываться количество ботов, выводилось с помощью <?php include("onlinesql.php"); ?>. За работу будет оплата. Приложения рассматриваются и приветствуются.
главное четко напишите что именно вам надо, какие должны быть функции у вашего скрипта на мой адрес электронной почты: nevek2012@yandex.ru
Количество ботов можно определить несколькими способами, самый очевидный по айпи, но тут есть нюансы, тот ip, на котором вы сейчас пользуютесь интернетом скорей всего динамический, это значит что обновив или отключив соединение через несколько минут под "вашим" айпи, которым вы пользовались несколько минут назад войдет совершенно другой пользователь сети интернет, и если он будет пользоваться вашим сайтом (что маловероятно при текущем разнообразии операторов) то он может быть причислен к ботам.
Какие боты вас интернесуют, поисковых систем ? Или зловредные/пользовательские, по четкому алгоритму наносящие вред вашему веб ресурсу ?
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
StalkerNSK
Участник
- Сообщения
- 102
- Реакции
- 18
Имеется вот такой файл:
Вопрос ? Как разделить онлайн пользователей и роботов или как вывести отдельно сумму в данный момент находящихся роботов в онлайне. В БД имена роботов записываются. Если есть другие варианты решения, предлагайте.
<?php
session_start();
$nameus=$_SESSION["username"];
if (strpos($_SERVER['PHP_SELF'], 'index.php' ) !== false) { $urlpage='Главная страница'; }
if (strpos($_SERVER['PHP_SELF'], 'sites.php' ) !== false) { $urlpage='Просмотр рекламы'; }
if (strpos($_SERVER['PHP_SELF'], 'finset.php' ) !== false) { $urlpage='Финансовая сеть'; }
if (strpos($_SERVER['PHP_SELF'], 'members.php' ) !== false) { $urlpage='Страница аккаунта'; }
if (strpos($_SERVER['PHP_SELF'], 'news.php' ) !== false) { $urlpage='Новости'; }
if (strpos($_SERVER['PHP_SELF'], 'advertise.php' ) !== false) { $urlpage='Заказ рекламы за WM'; }
if (strpos($_SERVER['PHP_SELF'], 'tos.php' ) !== false) { $urlpage='Правила'; }
if (strpos($_SERVER['PHP_SELF'], 'faq.php' ) !== false) { $urlpage='FAQ'; }
if (strpos($_SERVER['PHP_SELF'], 'chat.php' ) !== false) { $urlpage='ЧАТ'; }
if (strpos($_SERVER['PHP_SELF'], 'chathistory.php' ) !== false) { $urlpage='История сообщений ЧАТа'; }
if (strpos($_SERVER['PHP_SELF'], 'convert.php' ) !== false) { $urlpage='Вывод средств'; }
if (strpos($_SERVER['PHP_SELF'], 'moneyforadv.php' ) !== false) { $urlpage='Конвертация в рекламу'; }
if (strpos($_SERVER['PHP_SELF'], 'buyref.php' ) !== false) { $urlpage='Покупка рефералов'; }
if (strpos($_SERVER['PHP_SELF'], 'profile.php' ) !== false) { $urlpage='Страница профиля'; }
if (strpos($_SERVER['PHP_SELF'], 'history.php' ) !== false) { $urlpage='История выплат'; }
if (strpos($_SERVER['PHP_SELF'], 'upgrade.php' ) !== false) { $urlpage='Покупка V.I.P. аккаунта'; }
if (strpos($_SERVER['PHP_SELF'], 'referals.php' ) !== false) { $urlpage='Список рефералов'; }
if (strpos($_SERVER['PHP_SELF'], 'login.html' ) !== false) { $urlpage='Вход в аккаунт'; }
if (strpos($_SERVER['PHP_SELF'], 'register.php' ) !== false) { $urlpage='Регистрация'; }
if (strpos($_SERVER['PHP_SELF'], 'online.php' ) !== false) { $urlpage='Список онлайн'; }
if (strpos($_SERVER['PHP_SELF'], 'waitpay.php' ) !== false) { $urlpage='Список ожидающих выплаты'; }
if (strpos($_SERVER['PHP_SELF'], 'competition.php' ) !== false) { $urlpage='Конкурсы'; }
if (strpos($_SERVER['PHP_SELF'], 'task' ) !== false) { $urlpage='Задания'; }
if (strpos($_SERVER['PHP_SELF'], 'refbirj.php' ) !== false) { $urlpage='Биржа рефералов'; }
/*
Функция SpiderDetect - принимает $_SERVER['HTTP_USER_AGENT'] и возвращает имя кравлера поисковой системы или false.
*/
function SpiderDetect($USER_AGENT)
{
$engines = array(
array('Aport', 'Aport robot'),
array('Google', 'Google'),
array('msnbot', 'MSN'),
array('Rambler', 'Rambler'),
array('Yahoo', 'Yahoo'),
array('AbachoBOT', 'AbachoBOT'),
array('accoona', 'Accoona'),
array('AcoiRobot', 'AcoiRobot'),
array('ASPSeek', 'ASPSeek'),
array('CrocCrawler', 'CrocCrawler'),
array('Dumbot', 'Dumbot'),
array('FAST-WebCrawler', 'FAST-WebCrawler'),
array('GeonaBot', 'GeonaBot'),
array('Gigabot', 'Gigabot'),
array('Lycos', 'Lycos spider'),
array('MSRBOT', 'MSRBOT'),
array('Scooter', 'Altavista robot'),
array('AltaVista', 'Altavista robot'),
array('WebAlta', 'WebAlta'),
array('IDBot', 'ID-Search Bot'),
array('eStyle', 'eStyle Bot'),
array('Mail.Ru', 'Mail.Ru Bot'),
array('Scrubby', 'Scrubby robot'),
array('Yandex', 'Yandex'),
array('YaDirectBot', 'Yandex Direct')
);
foreach ($engines as $engine)
{
if (strstr($USER_AGENT, $engine[0]))
{
return($engine[1]);
}
}
return (false);
}
// Пример использования:
$detect = SpiderDetect($_SERVER['HTTP_USER_AGENT']);
if ($detect)
{
// Это бот, его имя - в перменной $detect.
}
else
{
// Это посетитель.
}
$uo_sessionTime = 5;
error_reporting(E_ERROR | E_PARSE);
$uo_ip = $_SERVER['REMOTE_ADDR'];
$uo_query = "DELETE FROM users_online WHERE unix_timestamp() - lastvisit >= $uo_sessionTime * 60";
mysql_query($uo_query);$allsqls++;
$uo_query = "SELECT lastvisit FROM users_online WHERE visitor = '$uo_ip'";
$uo_result = mysql_query($uo_query); $allsqls++;
if(mysql_num_rows($uo_result) == 0) {
$uo_query = "INSERT INTO users_online (visitor,lastvisit,user,botname,urlpage) VALUES('$uo_ip', unix_timestamp(), '$nameus','$detect','$urlpage')";
mysql_query($uo_query); $allsqls++;
} else {
$uo_query = "UPDATE users_online SET lastvisit = unix_timestamp(), botname='$detect',urlpage='$urlpage', user='$nameus' WHERE visitor = '$uo_ip'";
mysql_query($uo_query);$allsqls++;
}
if($uo_keepquiet == FALSE) {
$uo_query = "SELECT count(*) FROM users_online";
$uo_result = mysql_query($uo_query);
$uo_count = mysql_fetch_row($uo_result);
echo $uo_count[0];
}
?>
session_start();
$nameus=$_SESSION["username"];
if (strpos($_SERVER['PHP_SELF'], 'index.php' ) !== false) { $urlpage='Главная страница'; }
if (strpos($_SERVER['PHP_SELF'], 'sites.php' ) !== false) { $urlpage='Просмотр рекламы'; }
if (strpos($_SERVER['PHP_SELF'], 'finset.php' ) !== false) { $urlpage='Финансовая сеть'; }
if (strpos($_SERVER['PHP_SELF'], 'members.php' ) !== false) { $urlpage='Страница аккаунта'; }
if (strpos($_SERVER['PHP_SELF'], 'news.php' ) !== false) { $urlpage='Новости'; }
if (strpos($_SERVER['PHP_SELF'], 'advertise.php' ) !== false) { $urlpage='Заказ рекламы за WM'; }
if (strpos($_SERVER['PHP_SELF'], 'tos.php' ) !== false) { $urlpage='Правила'; }
if (strpos($_SERVER['PHP_SELF'], 'faq.php' ) !== false) { $urlpage='FAQ'; }
if (strpos($_SERVER['PHP_SELF'], 'chat.php' ) !== false) { $urlpage='ЧАТ'; }
if (strpos($_SERVER['PHP_SELF'], 'chathistory.php' ) !== false) { $urlpage='История сообщений ЧАТа'; }
if (strpos($_SERVER['PHP_SELF'], 'convert.php' ) !== false) { $urlpage='Вывод средств'; }
if (strpos($_SERVER['PHP_SELF'], 'moneyforadv.php' ) !== false) { $urlpage='Конвертация в рекламу'; }
if (strpos($_SERVER['PHP_SELF'], 'buyref.php' ) !== false) { $urlpage='Покупка рефералов'; }
if (strpos($_SERVER['PHP_SELF'], 'profile.php' ) !== false) { $urlpage='Страница профиля'; }
if (strpos($_SERVER['PHP_SELF'], 'history.php' ) !== false) { $urlpage='История выплат'; }
if (strpos($_SERVER['PHP_SELF'], 'upgrade.php' ) !== false) { $urlpage='Покупка V.I.P. аккаунта'; }
if (strpos($_SERVER['PHP_SELF'], 'referals.php' ) !== false) { $urlpage='Список рефералов'; }
if (strpos($_SERVER['PHP_SELF'], 'login.html' ) !== false) { $urlpage='Вход в аккаунт'; }
if (strpos($_SERVER['PHP_SELF'], 'register.php' ) !== false) { $urlpage='Регистрация'; }
if (strpos($_SERVER['PHP_SELF'], 'online.php' ) !== false) { $urlpage='Список онлайн'; }
if (strpos($_SERVER['PHP_SELF'], 'waitpay.php' ) !== false) { $urlpage='Список ожидающих выплаты'; }
if (strpos($_SERVER['PHP_SELF'], 'competition.php' ) !== false) { $urlpage='Конкурсы'; }
if (strpos($_SERVER['PHP_SELF'], 'task' ) !== false) { $urlpage='Задания'; }
if (strpos($_SERVER['PHP_SELF'], 'refbirj.php' ) !== false) { $urlpage='Биржа рефералов'; }
/*
Функция SpiderDetect - принимает $_SERVER['HTTP_USER_AGENT'] и возвращает имя кравлера поисковой системы или false.
*/
function SpiderDetect($USER_AGENT)
{
$engines = array(
array('Aport', 'Aport robot'),
array('Google', 'Google'),
array('msnbot', 'MSN'),
array('Rambler', 'Rambler'),
array('Yahoo', 'Yahoo'),
array('AbachoBOT', 'AbachoBOT'),
array('accoona', 'Accoona'),
array('AcoiRobot', 'AcoiRobot'),
array('ASPSeek', 'ASPSeek'),
array('CrocCrawler', 'CrocCrawler'),
array('Dumbot', 'Dumbot'),
array('FAST-WebCrawler', 'FAST-WebCrawler'),
array('GeonaBot', 'GeonaBot'),
array('Gigabot', 'Gigabot'),
array('Lycos', 'Lycos spider'),
array('MSRBOT', 'MSRBOT'),
array('Scooter', 'Altavista robot'),
array('AltaVista', 'Altavista robot'),
array('WebAlta', 'WebAlta'),
array('IDBot', 'ID-Search Bot'),
array('eStyle', 'eStyle Bot'),
array('Mail.Ru', 'Mail.Ru Bot'),
array('Scrubby', 'Scrubby robot'),
array('Yandex', 'Yandex'),
array('YaDirectBot', 'Yandex Direct')
);
foreach ($engines as $engine)
{
if (strstr($USER_AGENT, $engine[0]))
{
return($engine[1]);
}
}
return (false);
}
// Пример использования:
$detect = SpiderDetect($_SERVER['HTTP_USER_AGENT']);
if ($detect)
{
// Это бот, его имя - в перменной $detect.
}
else
{
// Это посетитель.
}
$uo_sessionTime = 5;
error_reporting(E_ERROR | E_PARSE);
$uo_ip = $_SERVER['REMOTE_ADDR'];
$uo_query = "DELETE FROM users_online WHERE unix_timestamp() - lastvisit >= $uo_sessionTime * 60";
mysql_query($uo_query);$allsqls++;
$uo_query = "SELECT lastvisit FROM users_online WHERE visitor = '$uo_ip'";
$uo_result = mysql_query($uo_query); $allsqls++;
if(mysql_num_rows($uo_result) == 0) {
$uo_query = "INSERT INTO users_online (visitor,lastvisit,user,botname,urlpage) VALUES('$uo_ip', unix_timestamp(), '$nameus','$detect','$urlpage')";
mysql_query($uo_query); $allsqls++;
} else {
$uo_query = "UPDATE users_online SET lastvisit = unix_timestamp(), botname='$detect',urlpage='$urlpage', user='$nameus' WHERE visitor = '$uo_ip'";
mysql_query($uo_query);$allsqls++;
}
if($uo_keepquiet == FALSE) {
$uo_query = "SELECT count(*) FROM users_online";
$uo_result = mysql_query($uo_query);
$uo_count = mysql_fetch_row($uo_result);
echo $uo_count[0];
}
?>