|
| Дата |
|
USD/RUB | 93.7196 | BTC/USD | 64073.4357 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
15.06.2017, 14:34
|
#1
|
Senior Member
Регистрация: 14.05.2015
Сообщений: 128
Бабло: $30129
|
Как заблочить ботов apache?
старый тред закрыт, читал, но там в основном про nginx
как заблочить ботов по юзерагенту на серваке с апачем по быстрому и с максимальным эффектом?
хтацесс я так понимаю не особо уменьшит нагрузку т.к. все запросы все равно будут обрабатываться?
подскажите кто шарит плз)
http://www.gofuckbiz.com/showpost.ph...35&postcount=4
Цитата:
в апаче есть httpd.conf и все, что в него инклудится - это статическая часть апачевского конфига, в ней побольше возможностей, чем в htaccess, синтаксис такой же, но надо ребутать/релоадить сервер. Но все равно хрен редьки не слаще )
|
вот я так понимаю единственное норм решение, но как сделать я не понял)
в httpd.conf добавил
Цитата:
SetEnvIfNoCase User-Agent "ahrefs" bad_user
Deny from env=bad_user
|
а он ругается, говорит
Цитата:
Syntax error on line 2 of /etc/apache2/httpd.conf:
deny not allowed here
Action 'configtest' failed.
|
|
|
|
15.06.2017, 15:25
|
#2
|
главный злодей гофака
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953618
|
ставь nginx перед апачем или лучше вместо него
|
|
|
15.06.2017, 15:29
|
#3
|
Senior Member
Регистрация: 14.05.2015
Сообщений: 128
Бабло: $30129
ТС -->
|
ТС
Цитата:
Сообщение от sspy
ставь nginx перед апачем или лучше вместо него
|
геморой все переделывать на серваке (лень + я не шарю)
сделал вот так
Цитата:
# START BLOCK BAD BOTS
SetEnvIfNoCase User-Agent "^yandex" UnwantedRobot
<Directory />
Order Allow,Deny
Allow from all
Deny from env=UnwantedRobot
</Directory>
# END BLOCK BAD BOTS
|
но чет не пойму работает оно правильно или нет. Зашел с ЮА яндекса - отдало 502, сменил ЮА на дефолтный - все равно 502 (закешилось чтоли), пообновлял норм отдало 200
|
|
|
15.06.2017, 16:07
|
#4
|
сыроед
Регистрация: 01.10.2015
Сообщений: 15,859
Бабло: $1861005
|
ты реально быстрее разберёшься с нуля с nginx, чем с апачем, который знаешь на 2. Там слишком много перекрученного говна.
документация и faq в помощь http://nginx.org/ru/docs/
делай пометки в файлы
|
|
|
15.06.2017, 16:25
|
#5
|
Senior Member
Регистрация: 01.08.2016
Сообщений: 1,332
Бабло: $155245
|
Цитата:
Сообщение от ukrpunk
сделал вот так
Цитата:
# START BLOCK BAD BOTS
SetEnvIfNoCase User-Agent "^yandex" UnwantedRobot
<Directory />
Order Allow,Deny
Allow from all
Deny from env=UnwantedRobot
</Directory>
# END BLOCK BAD BOTS
|
|
Так запаришься блочить. Я делал инклуд файла с юзерагентами в httpd.conf вот так:
Цитата:
#
# Customize behaviour based on the browser
<IfModule mod_setenvif.c>
. . .
# Custom list UserAgents for blocking:
include /u/www/conf/blk_UA.txt
. . .
</IfModule>
|
а в <Directory> (которая для всего сервера) прописывал переменную окружения MustDie для блокировки
Цитата:
<Directory "/u/www/">
. . .
# block bots:
Deny from env=MustDie
. . .
</Directory>
|
В файле blk_UA.txt уже писал регулярки для юзерагентов, по которым взводил эту переменную окружения MustDie:
Цитата:
# Scrapy/0.24.5 (+http:// scrapy.org)
SetEnvIfNoCase User-Agent "Scrapy\/" MustDie=1
#Mozilla/5.0 zgrab/0.x
SetEnvIfNoCase User-Agent " zgrab\/" MustDie=1
# Microsearch.ru Bot 1.3;http:// microsearch.ru/webmasters
SetEnvIfNoCase User-Agent "microsearch\.ru" MustDie=1
# Mozilla/5.0 (compatible; yoozBot-2.2; http:// yooz.ir;info @yooz.ir])
SetEnvIfNoCase User-Agent "yoozBot" MustDie=1
# netEstate NE Crawler (+http:// www. website-datenbank.de/)
SetEnvIfNoCase User-Agent "website\-datenbank\.de" MustDie=1
# YisouSpider
SetEnvIfNoCase User-Agent "YisouSpider" MustDie=1
# SeopultContentAnalyzer/1.0
SetEnvIfNoCase User-Agent "Seopult" MustDie=1
# http:// serm.kokoc.com/?site_id=61632
SetEnvIfNoCase User-Agent "serm\.kokoc\.com" MustDie=1
|
Поверь, там их будет далеко не одна страница, поэтому удобнее вести в отдельном файле.
Апач надо перестартовать после правок в этом файле. Сначала apaсhectl configtest и если всё ok - apachectl restart. А то он не перезапустится при ошибках в конфиге.
Последний раз редактировалось precautions; 15.06.2017 в 16:37.
|
|
|
15.06.2017, 16:40
|
#6
|
Senior Member
Регистрация: 01.08.2016
Сообщений: 1,332
Бабло: $155245
|
sspy, веломан, прям по анекдоту:
Цитата:
- Как вы вылечили этого больного?
- Мы заразили его другой болезнью - манией величия. Постепенно внушали ему, что он не простая стрелка, а целые часы, пока больной полностью не уверовал в это. Ну, а лечить часы мы уже умеем...
|
|
|
|
15.06.2017, 18:07
|
#7
|
Senior Member
Регистрация: 14.05.2015
Сообщений: 128
Бабло: $30129
ТС -->
|
ТС
precautions, спасибо, попробую, да и не собирался всех блочить, так самых прожорливых - маджестик,ахрефс,бинг, байду ...
в стартпосте надо было писать что с советами ставить нгинкс лесом)))
|
|
|
15.06.2017, 19:40
|
#8
|
сыроед
Регистрация: 01.10.2015
Сообщений: 15,859
Бабло: $1861005
|
Цитата:
Сообщение от precautions
sspy, веломан, прям по анекдоту:
Цитата:
- Как вы вылечили этого больного?
- Мы заразили его другой болезнью - манией величия. Постепенно внушали ему, что он не простая стрелка, а целые часы, пока больной полностью не уверовал в это. Ну, а лечить часы мы уже умеем...
|
|
скорее: "мы уже переболели его болезнью и нам не понравилось"
|
|
|
15.06.2017, 19:46
|
#9
|
Senior Major
Регистрация: 06.04.2015
Сообщений: 615
Бабло: $86014
|
Нормально на апаче блочится через .htaccess нагрузка маленькая, при том что в конфиге ~500 строк со всякими UA и CIDR и это все под tds
Цитата:
SetEnvIfNoCase User-Agent "MJ12bot" bad_bot
<Limit GET POST HEAD>
order allow,deny
allow from all
deny from env=bad_bot
</Limit>
|
|
|
|
16.06.2017, 11:34
|
#10
|
Senior Member
Регистрация: 14.05.2015
Сообщений: 128
Бабло: $30129
ТС -->
|
ТС
Блять, нихуя не понимаю
добавляю
Цитата:
SetEnvIfNoCase User-Agent "MJ12bot" bad_bot
<Limit GET POST HEAD>
order allow,deny
allow from all
deny from env=bad_bot
</Limit>
|
в htaccess - все работает корректно
добавляю в httpd.conf - не работает нихера (пробовал все варианты из топика)
в чем может быть дело? в папке апача 2 файла apache2.conf и httpd.conf(пустой). пробовал и в тот, и в тот добавлять условие - один хер не работает, 502 ошибку отдавать начинают все домены)))
где я проебался? как заблочить ботов для всего сервака сразу бля?)))
зы ребут сервака и перезапуск апача я не забыл)))
|
|
|
|