Создать ответ 
Скрипт защиты от ботов, спам ботов и авто ботов
Автор Сообщение
Frunzik Не на форуме
Рядовой
*

Сообщений: 6
У нас с: Jan 2016
Сообщение: #11
RE: Скрипт защиты от ботов, спам ботов и авто ботов
Большое спасибо, теперь фунциклируетHappy а как можно исключить к примеру
Цитата:194.58.115.144 17:24:34 18.01.2016 /bad_bot/black_list.php _http://bot.virusdie.com/ Virusdie crawler/2.1

В if (strpos($agent, 'Googlebot')===false and strpos($agent, 'YandexBot')===false and strpos($agent, 'Virusdie')===false) или crawler?
Вирусдай - Облачный антивирус для сайтов и фаервол. Проверка сайта на вирусы, автоматическое устранение угроз и защита сайта от повторных заражений и атак. Антивирус для сайта, фаервол для сайта. Антивирус и фаервол не требуют установки и настройки.
IP сервера: 194.58.115.144
18.01.2016 22:08:15
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #12
RE: Скрипт защиты от ботов, спам ботов и авто ботов
Без разницы. Можно хоть:
PHP код:
... and strpos($agent'bot.virusdie.com')==false

Т.е. все что угодно, что есть в USER_AGENT.
18.01.2016 22:12:21
Найти все сообщения Цитировать это сообщение
Frunzik Не на форуме
Рядовой
*

Сообщений: 6
У нас с: Jan 2016
Сообщение: #13
RE: Скрипт защиты от ботов, спам ботов и авто ботов
(18.01.2016 22:12:21)Admin писал(а):  Без разницы. Можно хоть:
PHP код:
... and strpos($agent'bot.virusdie.com')==false

Т.е. все что угодно, что есть в USER_AGENT.
То есть срабатывает любое на любое упоминание слова описании agentА, в данном случае virusdie? Простите за нубство, я ещё только учусьShocked
18.01.2016 22:17:07
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #14
RE: Скрипт защиты от ботов, спам ботов и авто ботов
strpos() возвращает позицию первого вхождения указанной подстроки в USER_AGENT. Если хотя бы одно из условий совпало, то код внутри скобок не выполнится.

P.S. Предыдущие сообщения и комментарии в теме подправил, чтобы не вводить новых посетителей в заблуждение допущенными ранее неточностями.
18.01.2016 23:46:52
Найти все сообщения Цитировать это сообщение
Frunzik Не на форуме
Рядовой
*

Сообщений: 6
У нас с: Jan 2016
Сообщение: #15
RE: Скрипт защиты от ботов, спам ботов и авто ботов
Ещё раз большое спасибо за скрипт и за помощь, всё работает, осваиваюсь что к чему.
У меня возник вопрос, как можно добавить к проверке в $file_name ещё один свой рукописный файл с нежелательными посетителями?
Заранее спасибо
20.01.2016 11:38:54
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #16
RE: Скрипт защиты от ботов, спам ботов и авто ботов
В файле index.php повторите дважды код:
PHP код:
$file_name "bad_bot/black_list.dat";
$fp fopen($file_name"r") or die ("Ошибка файла<br>");
while (
$line fgets($fp255)) {
 
$data explode(" "$line);
 if (
preg_match("/".$data[0]."/"$REMOTE_ADDR))  $bad_bot++;
}
fclose($fp); 

И во втором коде замените название файла на другое.

А еще лучше блокируйте неугодные USER_AGENT через .htaccess - Как заблокировать доступ к сайту по User-Agent
20.01.2016 22:04:11
Найти все сообщения Цитировать это сообщение
Frunzik Не на форуме
Рядовой
*

Сообщений: 6
У нас с: Jan 2016
Сообщение: #17
RE: Скрипт защиты от ботов, спам ботов и авто ботов
Премного вам благодарен, всё работает, использую в связке со скриптом ведения логов посещения сайта, очень удобно! ArHappyDrink
PHP код:
<?php
if (isset($_GET["col"])) $col=$_GET["col"]; else $col=50;
$lines_cashe=file_get_contents("base_user"LOCK_EX);
$file=explode("\n",$lines_cashe);
$size_f=count($file)-1;
?>
<?php 
include_once('bad_bot/index.php');
?>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><?php
if ($col>$size_f$col=$size_f;
echo 
'Последние '.$col.' посещения/й сайта  :::  ';
?>Скрипт записи логов посещений Вашего сайта</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="frereshUser.js"></script>

<head>
<style type='text/css'>
 td.zz {PADDING-LEFT: 3px; FONT-SIZE: 9pt; PADDING-TOP: 2px; FONT-FAMILY: Arial;}
</style>
</head>

<body>
<center>
<table id="datable"width="900" cellspacing="1" cellpadding="1" border="0"
    style="table-layout:fixed">
    <tr>
      <td colspan="5">
<?php
if ($col>$size_f$col=$size_f;
echo 
'<center>'.'Последние <b>'.$col.'</b> посещений сайта: <a class="button" onclick="refreshDiv()" href="#"><img width="23" height="23" title="ОБНОВИТЬ СППИСОК" alt="ОБНОВИТЬ СППИСОК" src="../sertowerrt/refreshButtonAnimated.gif"></a>'.'</center>';
?></td>
    </tr>
<tr bgcolor="#eeeeee">
 <td class="zz" width="150"><b>Время, дата</b></td>
 <td class="zz" width="250"><b>Кто посещал</b></td>
 <td class="zz" width="100"><b>IP, прокси</b></td>
 <td class="zz" width="300"><b>Посещенный URL</b></td>
 <td class="zz" width="100"><b>Проверка IP</b></td>
</tr>

<?php
for ($si=$size_f-1$si>=$size_f-$col$si--) {
$str=explode("|",$file[$si]);
echo 
'<tr bgcolor=#eeeeee><td class=zz>'.$str[0].'</td>';
echo 
'<td class=zz>'.$str[1].'</td>';
echo 
'<td class=zz>'.$str[2].'</td>';
echo 
'<td class=zz><a href="http://www.camolettrading.com'.$str[3].'">'.$str[3];
echo 
'</a></td>';
echo 
'<td class=zz>&nbsp;<a href="http://anonym.to/?https://www.stopforumspam.com/ipcheck/'.$str[2].'" target="_blank"><img title="Stop Forum Spam" alt="Stop Forum Spam" src="sfs.png"></a>&nbsp;<a href="http://anonym.to/?http://www.abuseipdb.com/report-history/'.$str[2].'" target="_blank"><img title="Check and report abuse IP" alt="Check and report abuse IP" src="hyip.png"></a>&nbsp;<a href="http://anonym.to/?http://anti-hacker-alliance.com/index.php?ip='.$str[2].'" target="_blank"><img title="Check and report abuse IP" alt="Check and report abuse IP" src="AHA_logo.png"></a></td></tr>';
}
echo 
'<tr bgcolor=#eeeeee><td colspan=5 class=zz>';
echo 
'<center>'.'<br>Просмотреть последние <a href=?col=100>100</a> <a href=?col=500>500</a> ';
echo 
'<a href=?col=1000>1000</a> посещений.';
echo 
'<br>Просмотреть <a href=?col='.sizeof($file).'>все посещения</a>.';
echo 
'</center><a href="bad_bot/black_list.php"><img src="../bad_bot/IfYouClickYouWillBeBlocked.png" border="0" alt="" width="1" height="1"></a>';
echo 
'</td>';
echo 
'</tr>';
echo 
'</table>';
echo 
'</body></html>';
?>
21.01.2016 11:40:17
Найти все сообщения Цитировать это сообщение
keramzit_001 Не на форуме
Рядовой
*

Сообщений: 2
У нас с: May 2016
Сообщение: #18
RE: Скрипт защиты от ботов, спам ботов и авто ботов
Здравствуйте! Использую Ваш скрипт защиты от ботов на Joomla!
Внедрил в систему и получаю письма на e-mail. Но Яндекс ругается на strpos()===false
Не нравится ему размер страницы отдаваемой сервером: 0Кб. В вебмастере пишет "Ошибки на стороне вашего сервера или сайта"
Цитата:strpos() возвращает позицию первого вхождения указанной подстроки в USER_AGENT. Если хотя бы одно из условий совпало, то код внутри скобок не выполнится.
Можно ли дописать условие проверки на популярных ботов YandexBot, Googlebot как-то по другому?
и отдавать им страницу с контентом:
PHP код:
echo '<!DOCTYPE html><html><head><meta name="robots" content="noindex, nofollow"></head><body><p>Как Вы сюда попали?</p>';
echo 
'<p><a href="http://site.ru/">вернуться на главную страницу</a></p>';
echo 
'</body></html>'
Запретив к индексации meta тегом. Ведь на каждой странице сайта есть ссылка на site.ru/bad_bot/black_list.php и поисковики обязательно потащат её в индекс.
08.05.2016 11:06:52
Найти все сообщения Цитировать это сообщение
Admin Не на форуме
Верховный
Главнокомандующий
(Administrator)
*

Сообщений: 2,431
У нас с: Aug 2011
Сообщение: #19
RE: Скрипт защиты от ботов, спам ботов и авто ботов
Так может проще в начало странички black_list.php добавить как Вы предлагаете:
PHP код:
echo '<!DOCTYPE html><html><head><meta name="robots" content="noindex, nofollow"></head><body><p>Как Вы сюда попали?</p>';
echo 
'<p><a href="http://site.ru/">вернуться на главную страницу</a></p>';
echo 
'</body></html>'

А уже дальше делать проверку на ботов:
PHP код:
if (strpos($agent'Googlebot')===false and strpos($agent'YandexBot')===false) { 

Таким образом, страничка никогда не будет пустой.
08.05.2016 13:01:41
Найти все сообщения Цитировать это сообщение
keramzit_001 Не на форуме
Рядовой
*

Сообщений: 2
У нас с: May 2016
Сообщение: #20
RE: Скрипт защиты от ботов, спам ботов и авто ботов
Спасибо большое! Отдельный респект за быстрый ответ! Сработало!
Размер странички 0,2КБ Код выглядит так:
PHP код:
<?php $agent=$_SERVER['HTTP_USER_AGENT'];
echo 
'<!DOCTYPE html><html><head><meta name="robots" content="noindex, nofollow"></head><body><p>Как Вы сюда попали?</p>';
echo 
'<p><a href="http://site.ru/">вернуться на главную страницу</a></p>';
echo 
'</body></html>';
if (
strpos($agent'YandexBot')===false and.... 
08.05.2016 17:29:22
Найти все сообщения Цитировать это сообщение
Создать ответ 


Переход:


Пользователи просматривают эту тему: 1 Гость(ей)


LiveInternet
© Copyright 2011-2024 by UsefulScript.ru