Как забанить ботов по юзерагенту с помощью Apache,ч.2

Ответить
Аватара пользователя
Voluntary
Сообщения: 2
Зарегистрирован: Пн дек 12, 2016 2:21 pm

Как забанить ботов по юзерагенту с помощью Apache,ч.2

Сообщение Voluntary » Пн май 29, 2017 9:35 am

0 команда, приведенная в самом начале сначала читает все файлы в текущей директории (в моем случае все лог файлы для одного сайта за три месяца), потом выбирает оттуда только те строки в которых содержится WinHTTP, потом вырезает первую колонку (в случае логов apache это ip-адрес), после чего выбираются только уникальные и показывается число встретившихся совпадений. Таким образом в результате видно число хитов с каждого айпишника.
$ cat * |grep WinHTTP | cut -f 1 -d " " | uniq -c
252 74. 86. 162. 58
798 208. 101. 63. 178
798 74. 86. 244. 130
$ host 74. 86. 162. 58
58. 162. 86. 74. in-addr. arpa domain name pointer tracerootan. dk.
$ host 208. 101. 63. 178
178. 63. 101. 208. in-addr. arpa domain name pointer royalexelsiore. br.
HTMLParser/1. 6
$ cat * |grep HTMLP | cut -f 1 -d " " |uniq -c |head
1829 81. 88. 208. 187
$ host 81. 88. 208. 187
187. 208. 88. 81. in-addr. arpa domain name pointer ws208-187. maryno. net.
Второй бот судя по всему одно из двух, либо библиотека Python или Java программа. Подозреваю, что второе, но пока ничего из этого не ставил и не пробовал.
Вот простой способ забанить их по user-agent: в файл . htaccess добавляем
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "^WinHTTP\ Robot/1. 0$"
RewriteCond %{HTTP_USER_AGENT} "^HTMLParser/1\. 6$"
RewriteRule ^. +$ robot_nah. html [L] в корне сайта создаем файл robot_nah. html в котором пишем какую нибудь херню. Сначала я хотел просто выдавать ошибку, это можно сделать заменив последнюю строчку на
RewriteRule ^. +$ - [G] потом таки решил что лучше выдавать всякий мусор, пусть потом разгребают кучу дерьма.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя