Нужна помощь Кто возьмется за работу ?

  • Автор темы StalkerNSK
  • Дата начала
StalkerNSK
Участник
Сообщения
102
Реакции
18
Уважаемые форумчане, требуется скрипт показывающий количество роботов на сайте (только роботов, без имен и ip).Нужно в том месте где будет показываться количество ботов, выводилось с помощью <?php include("onlinesql.php"); ?>. За работу будет оплата. Приложения рассматриваются и приветствуются.
 
Последнее редактирование:
nevek
Участник
Сообщения
2
Реакции
0
StalkerNSK написал(а):
Уважаемые форумчане, требуется скрипт показывающий количество ботов на сайте (только ботов, без имен и ip).Нужно в том месте где будет показываться количество ботов, выводилось с помощью <?php include("onlinesql.php"); ?>. За работу будет оплата. Приложения рассматриваются и приветствуются.
Здравствуйте, выполняю любые услуги в сфере серверного программирования (php 5.+>;ajax & php;MySQL),
главное четко напишите что именно вам надо, какие должны быть функции у вашего скрипта на мой адрес электронной почты: nevek2012@yandex.ru

Количество ботов можно определить несколькими способами, самый очевидный по айпи, но тут есть нюансы, тот ip, на котором вы сейчас пользуютесь интернетом скорей всего динамический, это значит что обновив или отключив соединение через несколько минут под "вашим" айпи, которым вы пользовались несколько минут назад войдет совершенно другой пользователь сети интернет, и если он будет пользоваться вашим сайтом (что маловероятно при текущем разнообразии операторов) то он может быть причислен к ботам.

Какие боты вас интернесуют, поисковых систем ? Или зловредные/пользовательские, по четкому алгоритму наносящие вред вашему веб ресурсу ?
 
StalkerNSK
Участник
Сообщения
102
Реакции
18
все просто как и сам скрипт, боты поисковые, а у меня ip статический.
 
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];
}



?>
Вопрос ? Как разделить онлайн пользователей и роботов или как вывести отдельно сумму в данный момент находящихся роботов в онлайне. В БД имена роботов записываются. Если есть другие варианты решения, предлагайте.
 
Сверху