Как заблочить ботов apache? - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.7196
BTC/USD64073.4357
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 15.06.2017, 14:34   #1
ukrpunk
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.
ukrpunk вне форума  
Старый 15.06.2017, 15:25   #2
sspy
главный злодей гофака
 
Аватар для sspy
 
Регистрация: 18.06.2007
Сообщений: 5,760
Бабло: $953618
По умолчанию

ставь nginx перед апачем или лучше вместо него
sspy вне форума  
Старый 15.06.2017, 15:29   #3
ukrpunk
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
ukrpunk вне форума  
Старый 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
precautions
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.
precautions вне форума  
Старый 15.06.2017, 16:40   #6
precautions
Senior Member
 
Регистрация: 01.08.2016
Сообщений: 1,332
Бабло: $155245
По умолчанию

sspy, веломан, прям по анекдоту:
Цитата:
- Как вы вылечили этого больного?
- Мы заразили его другой болезнью - манией величия. Постепенно внушали ему, что он не простая стрелка, а целые часы, пока больной полностью не уверовал в это. Ну, а лечить часы мы уже умеем...
precautions вне форума  
Старый 15.06.2017, 18:07   #7
ukrpunk
Senior Member
 
Регистрация: 14.05.2015
Сообщений: 128
Бабло: $30129
ТС -->
автор темы ТС По умолчанию

precautions, спасибо, попробую, да и не собирался всех блочить, так самых прожорливых - маджестик,ахрефс,бинг, байду ...

в стартпосте надо было писать что с советами ставить нгинкс лесом)))
ukrpunk вне форума  
Старый 15.06.2017, 19:40   #8
веломан
сыроед
 
Аватар для веломан
 
Регистрация: 01.10.2015
Сообщений: 15,859
Бабло: $1861005
По умолчанию

Цитата:
Сообщение от precautions Посмотреть сообщение
sspy, веломан, прям по анекдоту:
Цитата:
- Как вы вылечили этого больного?
- Мы заразили его другой болезнью - манией величия. Постепенно внушали ему, что он не простая стрелка, а целые часы, пока больной полностью не уверовал в это. Ну, а лечить часы мы уже умеем...
скорее: "мы уже переболели его болезнью и нам не понравилось"
веломан вне форума  
Старый 15.06.2017, 19:46   #9
Dimazzan
Senior Major
 
Аватар для Dimazzan
 
Регистрация: 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>
Dimazzan вне форума  
Старый 16.06.2017, 11:34   #10
ukrpunk
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 ошибку отдавать начинают все домены)))

где я проебался? как заблочить ботов для всего сервака сразу бля?)))

зы ребут сервака и перезапуск апача я не забыл)))
ukrpunk вне форума