Но эти правила также блокируют хороших ботов, поэтому я добавил ниже
#Goodbots
SetEnvIfNoCase User-Agent .*google.* good_bot
SetEnvIfNoCase User-Agent .*bingbot.* good_bot #bing
И, наконец, блокирующее правило
Order Allow,Deny
Allow from all
Deny from env=bad_bot
Но когда я использую GoogleBot useragent (Googlebot/2.1 (+ http://www.googlebot.com/бот.html ) я получаю — 403 запрещено.
— Что случилось ?
php apache .htaccess setenvifПоделиться Источник Alexey Shatrov 05 января 2018 в 13:41
1 ответ
- MySQL различных значений по столбцам
У меня есть следующая таблица: id lb rb ls rs ch bk ot 1 10000 10001 10001 10001 10001 10001 10000 2 0 10000 0 10001 0 10000 0 3 0 0 10000 10001 10000 0 0 4 0 0 0 10000 0 0 0 5 0 0 0 10000 0 0 0 Я хочу иметь возможность получить общее количество различных значений по всем столбцам (исключая 0),.
Примеры см. в справочнике mod_setenvif.
BrowserMatchNoCase
обеспечивает идентичную функциональность с более коротким синтаксисом. И вы можете удалить все.*
в вашем regex.Поделиться Salman A 06 января 2018 в 20:29
Похожие вопросы:
Setenvifnocase Referer — только для конкретного слова Есть несколько URLs, которые ссылаются на мой сайт. Я хочу запретить им доступ. Все эти сайты имеют уникальное и общее ключевое слово в URL: /roger23/ Пример URLs являются:…
Как отключить GZip с помощью SetEnvIfNoCase в Apache. htaccess?Я хочу отключить GZip для определенных страниц. У меня есть это в моем .htaccess , но он все еще включает GZip ( Content-Encoding: gzip ) при посещении dashboard/index . <ifmodule…
Как исключить URL-адреса из Apache mod_deflate через SetEnvIfNoCaseЯ имею дело с сайтом Magento, который имеет стороннюю интеграцию CMS. Когда я включаю Mod_deflate через файл .htaccess, большая часть сайта работает хорошо. Все страницы, которые извлекают…
MySQL различных значений по столбцамУ меня есть следующая таблица: id lb rb ls rs ch bk ot 1 10000 10001 10001 10001 10001 10001 10000 2 0 10000 0 10001 0 10000 0 3 0 0 10000 10001 10000 0 0 4 0 0 0 10000 0 0 0 5 0 0 0 10000 0 0 0 Я…
Apache2 SetEnvIfNoCase использование Request_URIя пытаюсь установить переменные окружения locale в моем VHost на сервере apache, чтобы запрошенный путь определял используемый locale. Требование состоит в том, чтобы использовать больше кода…
SetEnvIfNoCase для CodeIgniterКак установить эту линию SetEnvIfNoCase Request_URI get_file\.php$ no-gzip dont-vary к codeigniter htaccess, если мой класс-download_file, а метод-index()?
Перенаправление SetEnvIfNoCaseПривет всем, я изучал методы подстановочных знаков с использованием SetEnvIfNoCase User-Agent и подстановочных знаков, но использование примера below.only служит страницей ошибки 403, если useragent…
Является ли установка значений в инспекторе такой же, как установка значений по умолчанию в Unity?Я очень новичок в Unity, так что это может быть глупый вопрос, но установка значений в инспекторе-это то же самое, что установка значений по умолчанию в коде? Пример: public string name; //then go…
Список различных значений после группирования по другим столбцамЯ пытаюсь получить список различных значений (вместо их количества по func.count(distinct(column)) ) после группировки по другим столбцам. Как я могу сделать это в MySQL/SQLAlchemy эффективно?…
Выбор по ограниченному числу различных значенийЯ пытаюсь разбить выбор на отдельные значения одного столбца.Cegbfeieh» bad_bot
Какие меры принять для определения и устранения причин чрезмерной нагрузки на сервер?
12 комментариев
Делюсь своим опытом в статье.
1) 3 августа получил письмо службы технической поддержки ТаймВэб:
«Мы обнаружили, что Ваш аккаунт оказывает чрезмерную нагрузку на сервер. Возможно, Ваш проект стал более посещаемым или в работе сайта что-то пошло не так. На сервере виртуального хостинга чрезмерная нагрузка, оказываемая одним аккаунтом, может негативно сказаться на работе всего сервера, поэтому эту проблему важно оперативно решить».
2) Проверка access_logs файлов показала множество попыток доступа к сайтам:
- а) Ботов русскоязычных YandexBot, Googlebot, bingbot
- б) Ботов зарубежных, среди которых больше всего DotBot и Baiduspider
- в) Запросов к /administrator/index.php и /profil-polzovatelya?view=registration, хотя регистрация на сайте не доступна, как в настройках, так и в меню.
Решение
Приняли решение:
1) Блокировка директивой Disallow: / в файле robots.txt для следующих зарубежных ботов:
User-agent: Exabot Disallow: / User-agent: IDBot Disallow: / User-agent: Bingbot Disallow: / User-agent: Wotbox Disallow: / User-agent: Baiduspider Disallow: / User-agent: Baiduspider-image Disallow: / User-agent: Baiduspider-video Disallow: / User-agent: Baiduspider-news Disallow: / User-agent: Baiduspider-favo Disallow: / User-agent: Baiduspider-cpro Disallow: / User-agent: Baiduspider-ads Disallow: / User-agent: Baidu Disallow: / User-agent: MJ12bot Disallow: / User-agent: AhrefsBot Disallow: / User-agent: dotbot Disallow: / User-agent: Riddler Disallow: / User-agent: SemrushBot Disallow: / User-agent: LinkpadBot Disallow: / User-agent: BLEXBot Disallow: / User-agent: FlipboardProxy Disallow: / User-agent: aiHitBot Disallow: / User-agent: trovitBot Disallow: /
2) Блокировка директивой user-agent в файле .anybot» bad_bot <Limit GET POST HEAD> Order Allow,Deny Allow from all Deny from env=bad_bot </Limit>
Для других сайтов директиву RewriteCond %{HTTP_USER_AGENT}
RewriteCond %{HTTP_USER_AGENT} Exabot [OR] RewriteCond %{HTTP_USER_AGENT} IDBot [OR] RewriteCond %{HTTP_USER_AGENT} Wotbox [OR] RewriteCond %{HTTP_USER_AGENT} Baiduspider [OR] RewriteCond %{HTTP_USER_AGENT} Baiduspider-image [OR] RewriteCond %{HTTP_USER_AGENT} Baiduspider-video [OR] RewriteCond %{HTTP_USER_AGENT} Baiduspider-news [OR] RewriteCond %{HTTP_USER_AGENT} Baiduspider-favo [OR] RewriteCond %{HTTP_USER_AGENT} Baiduspider-cpro [OR] RewriteCond %{HTTP_USER_AGENT} Baiduspider-ads [OR] RewriteCond %{HTTP_USER_AGENT} AhrefsBot [OR] RewriteCond %{HTTP_USER_AGENT} MJ12bot [OR] RewriteCond %{HTTP_USER_AGENT} Detectify [OR] RewriteCond %{HTTP_USER_AGENT} dotbot [OR] RewriteCond %{HTTP_USER_AGENT} Riddler [OR] RewriteCond %{HTTP_USER_AGENT} SemrushBot [OR] RewriteCond %{HTTP_USER_AGENT} LinkpadBot [OR] RewriteCond %{HTTP_USER_AGENT} BLEXBot [OR] RewriteCond %{HTTP_USER_AGENT} FlipboardProxy [OR] RewriteCond %{HTTP_USER_AGENT} aiHitBot [OR] RewriteCond %{HTTP_USER_AGENT} trovitBot [OR] RewriteCond %{HTTP_USER_AGENT} Zeus RewriteRule ^(.*)$ – [F,L]
3) Блокировка директивой Deny from IP в файле .htaccess для явно вредных запросов к «administrator», «registration», а также IP тех же ботов, а также IP из списка злостных спамеров и хакеров, опубликованных на сайте stopforumspam.com/stats. В итоге получился список из 628 IP адресов. Привожу здесь только часть списка — злостные IP
<Limit GET POST> order allow,deny Deny from 109.86.71.72 Deny from 134.249.51.80 Deny from 146.185.223.105 Deny from 146.185.223.173 Deny from 146.185.234.81 Deny from 176.8.90.90 Deny from 178.137.161.11 Deny from 178.158.85.115 Deny from 178.159. 37.110 Deny from 178.159.37.12 Deny from 178.159.37.44 Deny from 185.154.13.7 Deny from 192.168.0.1 Deny from 193.201.224.11 Deny from 193.201.224.21 Deny from 37.115.187.206 Deny from 46.161.9.46 Deny from 46.98.212.5 Deny from 46.98.213.124 Deny from 91.200.12.59 allow from all </Limit>
Анализ сегодняшнего 17Aug2017 файла access_log показал от DotBot 108 сканов по IP 216.244.66.198 и 216.244.66.250 Baiduspider 7 сканов по IP 180.76.15.17.
error_log стали содержательными, вместо 2-3 строк, теперь 40-50 строк отказа, типа:
www.site.ru [Thu Aug 17 06:11:59 2017] [error] [pid 15392] mod_access_compat.c(352): [client 216.244.66.250:48496] AH01797: client denied by server configuration: /home/g/login/site.ru/public_html/services
То есть защита наша работает, но пока работает лишь частично. Нагрузка остаётся завышенной.
ИТОГ
В результате наших действий нагрузка снизилась вдвое прежней, но мы ведем поиск оптимизации доступа.
У кого есть положительный опыт принятия мер по определению и устранению причин чрезмерной нагрузки на сервер? Просьба поделиться подробно, поскольку эта проблема становится актуальной для многих.Zyborg» bad_bot # Vulnerability Scanners SetEnvIfNoCase User-Agent «Acunetix» bad_bot SetEnvIfNoCase User-Agent «FHscan» bad_bot # Aggressive Chinese Search Engine SetEnvIfNoCase User-Agent «Baiduspider» bad_bot # Aggressive Russian Search Engine SetEnvIfNoCase User-Agent «Yandex» bad_bot <Limit GET POST HEAD> Order Allow,Deny Allow from all # Cyveillance deny from 38.100.19.8/29 deny from 38.100.21.0/24 deny from 38.100.41.64/26 deny from 38.105.71.0/25 deny from 38.105.83.0/27 deny from 38.112.21.140/30 deny from 38.118.42.32/29 deny from 65.213.208.128/27 deny from 65.222.176.96/27 deny from 65.222.185.72/29 Deny from env=bad_bot </Limit>
Я был бы признателен, если бы кто-то мог указать мне в правильном направлении. Любая помощь будет оценена.
1
MrVK 23 Авг 2019 в 00:54
1 ответ
Лучший ответ
/401.html — это страница, которую вы создаете, вы можете назвать его все, что вы хотите
1
Klienblat Moshe 22 Авг 2019 в 22:14
20+ правил .htaccess, которые должен знать каждый разработчик
Прежде чем мы начнем, обращаю ваше внимание на тот факт, что злоупотребление использованием .htaccess может привести к снижению производительности вашего сайта. Использовать .htaccess для реализации той или иной задачи стоит только в том случае, если нет других вариантов.
Убедитесь в том, что вы сделали резервную копию оригинального файла .htaccess для вашего сайта, прежде чем вносить какие-либо изменения.
Кроме того, помните — работоспособность указанных ниже правил зависит от настроек вашего web-сервера, заданных хостером. Некоторые директивы могут быть запрещены и не работать.
.htaccess (от. англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.
Файл .htaccess может быть размещён в любом каталоге. Директивы этого файла действуют на все файлы в текущем каталоге и во всех его подкаталогах (если эти директивы не переопределены директивами нижележащих файлов .htaccess).
Для того чтобы эти файлы .htaccess можно было использовать, необходимы соответствующие настройки главного конфигурационного файла (значение директивы AllowOverride должно быть установлено All). Как правило, подавляющее большинство хостеров разрешают использовать свои файлы .htaccess.Запрещаем загрузку файлов с внешних сайтов
Вам надоели люди, которые размещают картинки, опубликованные на вашем сайте — на своих ресурсах, тем самым расходуя ваш траффик и создавая ненужную нагрузку на ваш хостинг? Данный код, размещенный в конца вашего файла .Zeus [NC]
<limit get=»» post=»» head=»»>
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>Список User Agent браузеров, роботов и пауков поисковых машин, веб-каталогов, менеджеров закачек, спам-ботов и плохих ботов можно найти на сайте List of User-Agents.
Запрещаем доступ для всех, кроме указанных IP-адресов
Если по какой-либо причине, вы хотите запретить всем или разрешить только отдельным IP-адресам доступ к вашему сайту — добавьте этот код в ваш .htaccess-файл:
#Запрещаем доступ для всех, кроме указанных IP-адресов
ErrorDocument 403 http://www.domainname.com
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123Не забудьте изменить domainname.com на ваше доменное имя.
Настраиваем SEO-Friendly 301 Redirect
Если вы перенесли доменное имя или хотите перенаправлять пользователя на определенную страницу (страницы), без санкций со стороны поисковых машин, используйте этот код:
#Настраиваем SEO-Friendly 301 Redirect
Redirect 301 /d/file.html http://www.domainname.com/r/file.htmlНе забудьте изменить domainname.com на ваше доменное имя, а /d/file.html и /r/file.html на соответствующие директории и страницы.
Создаем собственные страницы ошибок
Вам надоел стандартный вид страниц ошибок? Нет проблем — с помощью следующего кода, вы легко можете создать свою страницу и показывать пользователю именно ее:
ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.phpНе забудьте создать в корневой директории вашего сервера папку error и разместить в ней соответствующие файлы.
Создаем черный список IP адресов
Устали от спам-комментариев или определенного пользователя? Просто заблокируйте его IP с помощью следующего кода, добавляемого в .htaccess-файл.
#Создаем черный список IP адресов
allow from all
deny from 145.186.14.122
deny from 124.15.Узнать IP адреса комментаторов можно или в логах Apache или с помощью сервисов статистики. Для Drupal, IP адреса комментаторов можно увидеть в административной панели — Отчеты.
Устанавливаем e-mail адрес по-умолчанию для администратора сервера
Используйте данный код, для того, чтобы установить e-mail адрес по-умолчанию для администратора сервера.
#Устанавливаем e-mail адрес по-умолчанию для администратора сервера
ServerSignature EMail
SetEnv SERVER_ADMIN [email protected]Не забудьте заменить [email protected] — своим e-mail адресом.
Защищаем определенный файл
Нижеследующий код позволяет вам запретить доступ к любому файлу — при запросе будет выдаваться ошибка 403. Для примере я закрыл доступ к самому файлу htaccess, повысив уровень безопасности сайта.
#Защищаем .htaccess файл
<files .htaccess=»»>
order allow,deny
deny from all
</files>Сжимаем элементы с помощью mod_deflate
В качестве альтернативы компрессии файлов с помощью Gzip, вы можете использовать mod_deflate (предположительно работает быстрее). Разместите следующий код в начале вашего файла .htaccess (также вы можете добавить .jpg|.gif|.png|.tiff|.ico):
#Сжимаем элементы с помощью mod_deflate
<ifmodule mod_deflate.c=»»>
<filesmatch .(js|css)$=»»>
SetOutputFilter DEFLATE
</filesmatch>
</ifmodule>Добавляем срок жизни в заголовки
Данный код позволяет добавить сроки жизни в заголовки:
#Добавляем срок жизни в заголовки
<filesmatch .(ico|pdf|flv|jpg|jpeg|png|gif|swf)$=»»>
Header set Expires «Wed, 21 May 2010 20:00:00 GMT»
</filesmatch>Устанавливаем страницы по-умолчанию
Обычно страницей по-умолчанию является index.html, однако с помощью этого кода вы можете настроить по-умолчанию любую другую страницу.
#Устанавливаем альтернативную страницу по-умолчанию
DirectoryIndex about.htmlЗащищаем паролем папки и файлы
Вы можете включить проверку пароля для доступа в любую папку или файл на вашем сервере, используя этот код:
#защита паролем файла
<files secure.php=»»>
AuthType Basic
AuthName «Prompt»
AuthUserFile /pub/home/.htpasswd
Require valid-user
</files>
#защита паролем папки
resides
AuthType basic
AuthName «This directory is protected»
AuthUserFile /pub/home/.htpasswd
AuthGroupFile /dev/null
Require valid-userДля того, чтобы организовать доступ к файлу по паролю, необходимо создать файл .htpasswd и внести в него пару логин-пароль в формате user:password.
Однако в этом случае пароли будут хранится в открытом виде, что не слишком хорошо с точки зрения безопасности. Поэтому оптимальнее пароль зашифровать. Для этого воспользуйтесь сервисами генерации записей в файлы .htpasswd. Например, вот таким.
В нашем примере файл с паролями доступа лежит в корневой директории сайта и называется .htpasswd. Директория указывается от корня сервера и если путь будет некорректным — Apache, не получив доступа к файлу, откажет в доступе к папке любому пользователю — в том чилсе и тому, который ввел правильную пару логин:пароль.(.*)$ http://www.domainname.com/$1 [R=301,L]
Перенаправление используется в том случае, если вы переносите свой существующий сайт на новое доменное имя. В этом случае любой пользователь, который наберет в адресной строке http://www.olddomainname.com — будет перенаправлен на http://www.domainname.com
Усиливаем кеширование
Использование этого правила не означает прямое ускорение загрузки вашего сайта. Оно предназначено для более быстрой загрузки сайта — для уже заходившего на него посетителя, путем отправки статуса 304 для тех элементов, которые не обновлялись. Таким образом, при повторной загрузке страницы браузер посетителя не будет заново скачивать изображения, скрипты или CSS, а выведет те файлы, которые уже хранятся в его кеше. Вы можете изменить срок жизни кеша, путем корректирования его значения в годах (year), месяцах (month) или, например — секундах (seconds). В примере указан 1 год.
#Усиливаем кеширование
FileETag MTime Size
<ifmodule mod_expires.(.*)$ www.domainname.com/$1От себя добавлю, что вы можете использовать не только статусы, но и другие условия:
RedirectMatch (.*)\.gif$ http://www.myserver.com$1.png
RedirectMatch (.*\.jpg)$ http://www.myanother.com$1Обязательно сделайте резервную копию файла .htaccess до внесения изменений и проверьте работоспособность всего сайта — после добавления новых строк.
Защита от прямых ссылок для изображений через .htaccess
Хотлинк (Hotlink) — вставка прямых ссылок изображений или файлов с одного сайта на другие. Этот прием используется довольно часто, ну например, у вас на сервере не хватает места для хранения картинок и вы пользуетесь каким-либо бесплатным сервисом для хранения файлов изображений, т.е. загружаете картинку, получаете URL и вставляете его на свой сайт. В итоге: вы сохраняете место для вашего сайта и используете пропускную способность хостинга для картинок, но это уже не ваше дело. Но вот как быть, если кто-то решил, что ваш сайт можно использовать как подобный сервис.Zyborg» bad_bot
<limit get=»» post=»» head=»»>
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>
- attribute — атрибут, в котором производим поиск. Возможен поиск по любому HTTP-заголовку запроса
- regex — регулярное выражение
- variable — название переменной, допускается указание нескольких переменных через пробел
Фильтрация доступа в .htaccess по UserAgent
В данной заметке рассмотрим как фильтровать доступ к определенным файлам или категориям на Web-сервере при помощи .htaccess
К написанию данной заметки меня натолкнула необходимость запрета перебора паролей к сайтам на базе CMS WordPress. Несмотря на то, что все пользователи с правами Администратора используют «сложные» пароли, которые не возможно подобрать, все же данные действия создают дополнительную нагрузку на сервер. Блокировать доступ по IP-адресам — простой, но не эффективный способ.При анализе логов Web-сервера заметил, что доступ пытаются получить через отправку данных на wp-login.php и xmlrpc.php, соответственно, доступ буду блокировать именно к этим файлам. В тоже время было замечено, что UserAgent на всех запросах к данным файлам является
«Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0»
Исходя из этих данных, составлю правила для блокирования доступа.
Для этого буду использовать работу с переменными
Создание переменной с результатами
Будет использоваться директива для работы с переменными SetEnvIfNoCase. Для корректной работы необходимо, чтобы был установлен модуль Apache mod_setenvif
Синтаксис использования:
SetEnvIfNoCase attribute regex variable variable2 …
Где:
Производить поиск будем по заголовку User-Agent.
Пример кода .htaccess для запрета доступа к файлу wp-login.php пользователей с браузером Firefox 62.0. На момент написания актуальная версия 75
<IfModule mod_setenvif.c>
SetEnvIfNoCase User-Agent «.*Firefox\/62.0*» block
<Files wp-login.php>
Order Allow,Deny
Allow from all
Deny from env=block
</Files>
</IfModule>
Аналогичным образом можно ограничить доступ для любых систем, которые идентифицируют себя через User-Agent или предоставить доступ только для определенных систем. Сфер применений множество.
Также перед применением правил рекомендую использовать проверку регулярных выражений, например, на https://regexr.com/, если вы допустите ошибку при написании правил, то при открытии сайта будете получать сообщение о внутренней ошибке сервера с кодом 500 (Internal Server Error). В логах Web-сервера будет соответствующее сообщение
.htaccess: SetEnvIfNoCase regex could not be compiled.
Использованные материалы:
https://www.askapache.com/htaccess/setenvif/
https://httpd.apache.org/docs/2.4/mod/mod_setenvif.html
HOWTO остановить автоматических спам-ботов, использующих .htaccess
Спамеры думают, что они могут каким-то образом обмануть поисковые системы, чтобы они давали им трафик с помощью сайтов, рассылающих спам по ссылкам. Это, конечно, не работает, и единственный эффект от такого рассылки спама заключается в том, что как веб-сайт, который рассылается спамом, так и сайты спамеров, получают более низкие рейтинги в поисковых системах. Идиоты этого не осознают и все равно спамят, в основном используя автоматизированное программное обеспечение. Apache .htaccess — отличный способ борьбы с автоматическими спам-ботами.
Почему это вам не поможет [править]
Поймите, что .htacess блокировка, подкрепленная строкой «User-Agent» программного обеспечения — это старая новость в арсенале между хорошими и честными веб-мастерами, которые просто хотят запустить честный веб-сайт, и черными спамерами . Они знают, что многие люди блокируют этот , и многие идут простым путем: Они просто настраивают свое программное обеспечение и говорят: «Привет, я Mozilla, я какой-то парень посещает ваш сайт, как дела, вот дерьмо спама для тебя… «.
.htaccess может эффективно блокировать любого спам-бота , который признает себя . Если он говорит, что это более поздняя версия Chrome, вы не можете создать общее правило, блокирующее весь Chrome.
Блокировка по IP — еще один метод, который вы можете использовать в файле .htaccess , который на самом деле не очень помогает. На сервере, на котором размещена эта страница, находится , постоянно спамят POST-запросами и запросами для WordPress и, в частности, старых небезопасных плагинов WordPress.Новые серверы постоянно скомпрометированы. Добавление каждого атакующего IP в черный список будет постоянной работой.
В сводке … [править]
Есть два способа остановить ботов, использующих .htaccess: перезаписать на основе условия и разрешить / запретить с помощью SetEnvIfNoCase.
Использование условий перезаписи [править]
Примечание: Использование RewriteCond и RewriteRule Для требуется наличие AllowOverride FileInfo на веб-сервере Apache или в конфигурации виртуального хоста (см. Документацию Apache по allowoverride).Вы также можете использовать AllowOverride All , который позволяет FileInfo и другие, которые вам могут не понадобиться или не нужны, например, Indexes . |
Блокировка пользовательских агентов может быть выполнена путем создания списка строк пользовательского агента, которые вам не нравятся, построчно и установки правила запрета RewriteRule. * — [F] после них. Обратите внимание, что условия перечислены с параметром [ИЛИ], что означает только это: Если эта строка ИЛИ следующая строка истинна, сделайте.Зиборг «bad_bot» <Ограничить GET POST HEAD> Заказать разрешить, запретить Разрешить от всех Запретить от env = bad_bot
.htaccess Правила, которые вы можете рассмотреть [править]
Референтный спам [править]
Некоторые боты просто заходят на ваш сайт и говорят, что пришли с того сайта, который они хотят спамить. Идея здесь в том, что многие инструменты webstat перечисляют ссылки, и эти боты часто заходят (многие только с HEAD / запросами), чтобы попасть в эти списки, созданные webstat. С помощью правил перезаписи вы могли:
Файл: .htaccess
RewriteEngine на RewriteCond% {HTTP_REFERER} xblognetwork [NC] RewriteCond% {HTTP_REFERER} попугайчики [NC] RewriteCond% {HTTP_REFERER} englishtopik RewriteRule (. * $) - [F, L]
Вы также можете запретить их использование SetEnvIfNoCase:
Файл: .htaccess
SetEnvIfNoCase Referer doobu.com spammer = да SetEnvIfNoCase Referer покерный спамер = да Заказать разрешить, запретить разрешить от всех запретить env = spammer
Обратите внимание, что спамерских слов , как правило, лучше, чем домены, если вас засылают спамом с помощью команды buy-this-viagra-before-play-poker.tld, тогда вам лучше настроиться на будущее, запретив покер и виагру вместо «buy-this-viagra-before-playing-poker.tld», поскольку это также останавливает super-poker-fun.tld и т. д.
Нет User-Agent? Нет публикации [править]
Это очень простое правило, которое запрещает кому-либо — или чему-либо, — которое не предоставляет никакого User-Agent для публикации. Он есть во всех браузерах, и даже те, кто скрывает свой настоящий User-Agent с помощью программного обеспечения, такого как Privoxy, предоставляют или .
Файл: .$ RewriteRule. * — [F]
Используете http версии 1.0? Идти в ногу со временем … [править]
Все современные веб-браузеры уже более десяти лет используют версию 1.1 протокола http, и http 2.0 является модным.
Одно правило, которое вы должны иметь для всех видов блогов и форумов, — это правило , которое проверяет, является ли это запрос POST, и проверяет, выполняется ли это с помощью http версии 1. Http: // www.. + pinappleproxy [NC]
Многие из однопроходных веб-прокси достаточно любезны, чтобы добавить заголовков VIA , которые показывают, что соединение идет через прокси. Эти прокси также могут быть очень глупыми реальными пользователями, которые думают, что односкачковые веб-прокси дают им какие-либо реальные свойства безопасности (хотя на самом деле они этого не делают, используйте Tor, если вы хотите сопротивление анализу трафика).
(Не) вырезать и вставить условия перезаписи [править]
Возможно, вам просто понадобится быстрое исправление , и если это все, то вы, вероятно, захотите вырезать и вставить этот очень длинный список в свой.htaccess файл. Однако следует понимать, что это очень длинный и, следовательно; в этом очень длинном примере могут быть вещи, которые вам нужны . Вам определенно не нужен EmailWolf где-либо рядом с вашим сайтом, поскольку это только , которое используется спамерами для сбора адресов электронной почты, но есть приложений, использующих «Indy Library» (которая используется для множества вещей ), которые могут принести пользу обществу. Bot \ mailto: craftbot @ yahoo.Зиборг «bad_bot» <Ограничить GET POST HEAD> Заказать разрешить, запретить
Разрешить от всех
Запретить от env = bad_bot Следить за исчезающими изображениями Тема
Привет, ребята,
Не знаю, означает ли это что-нибудь, но я только что проверил свой файл robots.text в Search Console, и следующие коды были добавлены — вероятно, плагином — но я понятия не имею, какой из них:
Обычные карты сайта Yoast, но затем —
# BEGIN WBCPBlockerSetEnvIfNoCase User-Agent «AhrefsBot» block_bot
SetEnvIfNoCase User-Agent «MJ12bot» block_bot
SetEnvIfNoCase User-Agent «Rogerbot» block_bot
SetEnvIfNoCase User-Agent «SemrushBot» block_bot
SetEnvIfNoCase User-Agent «ia_archiver» block_bot
SetEnvIfNoCase User-Agent «ScoutJet» block_bot
SetEnvIfNoCase User-Agent «sistrix» block_bot
SetEnvIfNoCase User-Agent «SearchmetricsBot» block_bot
SetEnvIfNoCase User-Agent «SEOkicks-Robot» block_bot
SetEnvIfNoCase User-Agent «Lipperhey Spider» block_bot
SetEnvIfNoCase User-Agent «Exabot» block_bot
SetEnvIfNoCase User-Agent «NCBot» block_bot
SetEnvIfNoCase User-Agent «BacklinkCrawler» block_bot
SetEnvIfNoCase User-Agent «meanpathbot» block_bot
SetEnvIfNoCase User-Agent «PagesInventory» block_bot
SetEnvIfNoCase User-Agent «Aboundexbot» block_bot
SetEnvIfNoCase User-Agent «spbot» block_bot
SetEnvIfNoCase User-Agent «linkdexbot» block_bot
SetEnvIfNoCase User-Agent «Gigabot» block_bot
SetEnvIfNoCase Пользовательский агент «dotbot» block_bot
SetEnvIfNoCase User-Agent «Nutch» block_bot
SetEnvIfNoCase User-Agent «BLEXBot» block_bot
SetEnvIfNoCase User-Agent «Ezooms» block_bot
SetEnvIfNoCase User-Agent «Маджестик-12» block_bot
SetEnvIfNoCase User-Agent «Majestic-SEO» block_bot
SetEnvIfNoCase User-Agent «DSearch» block_bot
SetEnvIfNoCase User-Agent «BlekkoBot» block_bot
SetEnvIfNoCase User-Agent «NerdyBot» block_bot
SetEnvIfNoCase User-Agent «JamesBOT» block_bot
SetEnvIfNoCase User-Agent «monitorbacklinks» block_bot
<Предел GET POST HEAD>
Разрешить заказ, запретить
Разрешить со всех
Запретить от env = block_bot
# КОНЕЦ WBCPBlocker
Я точно знаю, что этого материала НЕ было, пока я играл с повторной отправкой карт сайта, чтобы мои изображения работали в течение прошлой недели.
Так откуда взялся этот дополнительный код?
А что такое «WBCPBlocker»?
Потому что похоже, что это может быть источником проблемы.
Спасибо за любую информацию!
Как заблокировать IP и пользовательских агентов в WordPress? »WebNots
Одним из важных аспектов защиты вашего сайта WordPress является мониторинг IP-адресов пользователей и пользовательских агентов, обращающихся к вашему сайту. Есть много ситуаций, когда вам может потребоваться заблокировать IP-адрес пользователя при ведении блога WordPress.Ниже приведены некоторые из сценариев, когда происходит постоянная необходимость блокирования действий с вашей стороны:
- Пользователь или бот пытается получить доступ к вашей странице входа.
- Пользователь или бот, оставляющий спам-комментарии.
Как отслеживать вредоносные IP-адреса?
Чтобы заблокировать вредоносные IP-адреса, сначала вам необходимо отслеживать активность трафика на вашем сайте. Вы можете сделать это на уровне сервера или использовать плагин и мониторинг на панели администратора.
Мониторинг уровня сервера
Войдите в свою учетную запись хостинга и перейдите в cPanel.Загляните в раздел статистики, чтобы проверить доступные инструменты для мониторинга трафика на вашем сайте. Awstats — один из популярных инструментов статистики, предлагаемый почти всеми популярными хостинговыми компаниями. Щелкните значок и выберите свой сайт, чтобы просмотреть данные о трафике.
Открытие Awstats из учетной записи хостинга cPanel
Получите полный список IP-адресов хостов, генерирующих трафик на ваш сайт, нажав на опцию «Полный список» в разделе «Хосты».
Список IP-адресов хостов, обращающихся к вашему сайту
Аналогичным образом получите полный список роботов, сканирующих ваш сайт, нажав на опцию «Полный список» в разделе «Роботы / посетители-пауки».
Получение списка роботов из Awstats
Эти списки содержат список IP-адресов, с которых осуществляется доступ к вашему сайту, и анализ списка покажет вам вредоносные IP-адреса.
Блокировка IP-адресов из учетной записи хостинга cPanel
Как только вы узнаете список IP-адресов, которые пытаются попасть на ваш сервер без уважительных причин, следующим шагом будет их блокировка. Перейдите в свою учетную запись cPanel и нажмите «IP Deny Manager» или любой аналогичный вариант.
Open IP Deny Manager в хостинге cPanel
Добавьте IP-адреса, чтобы запретить доступ к вашему сайту.Вы можете добавить отдельные IP-адреса, диапазон, подразумеваемый диапазон и формат CIDR с маской подсети.
Блокировка IP-адреса с помощью диспетчера запрета IP-адресов
Блокировка ботов с помощью .htaccess
К сожалению, ни один инструмент в cPanel не позволяет напрямую блокировать пользовательских агентов или плохих роботов. Вам необходимо использовать директивы в файле .htaccess, чтобы заблокировать идентифицированных роботов. Помимо списка, который вы нашли в списке доступа роботов Awstats, есть также много готовых списков плохих ботов, доступных в Интернете. Ниже приведен один из списков, доступных на Github, который вы можете скопировать и добавить в.Зиборг «bad_bot» # Сканеры уязвимостей SetEnvIfNoCase User-Agent «Acunetix» bad_bot SetEnvIfNoCase Пользовательский агент «FHscan» bad_bot # Агрессивная китайская поисковая система SetEnvIfNoCase User-Agent «Baiduspider» bad_bot # Агрессивная русская поисковая система SetEnvIfNoCase User-Agent «Яндекс» bad_bot <Ограничить GET POST HEAD> Заказать разрешить, запретить Разрешить от всех # Cyveillance отклонить от 38.100.19.8/29 отрицать от 38.100.21.0 / 24 отказать из 38.100.41.64/26 отклонить от 38.105.71.0/25 отклонить от 38.105.83.0/27 отказать из 38.112.21.140/30 отклонить от 38.118.42.32/29 отказать от 65.213.208.128/27 отказать от 65.222.176.96/27 отказать от 65.222.185.72/29 Запретить от env = bad_bot # END Блокировка плохих ботов
Также неплохо обсудить с вашим хостом список плохих ботов, если он у них уже есть.
Проблемы с блокировкой на уровне сервера
Есть несколько проблем с блокировкой IP на уровне сервера:
- В большинстве случаев IP-адреса включают CDN и IP-адреса вашего собственного хостинга.
- Трудно найти вредоносные IP-адреса, просто проведя анализ без каких-либо ссылок.
- Неправильная блокировка IP-адресов остановит реальных пользователей, а не IP-адрес хакера.
- У вас нет возможности добавлять пользовательские агенты непосредственно в диспетчере отказа IP. Вам нужно заблокировать этих плохих ботов, напрямую изменив файл .htaccess.
Использование подключаемого модуля для блокировки IP-адресов
Утомительную работу по блокировке IP-адресов и пользовательских агентов на уровне сервера можно легко выполнить с помощью плагина из панели администратора.Есть много бесплатных и платных плагинов для идеального выполнения этой работы. Мы обсудим функцию, доступную в одном из популярных плагинов безопасности «All in One WP Security & Firewall».
Finding All in One WP Security and Firewall Plugin
Установите и активируйте плагин из панели администратора WordPress. Есть настройки, которые нужно включить, чтобы отслеживать вредоносные IP-адреса.
- Перейдите к «WP Security> Login Lockdown» и включите опцию «Enable Login Lockdown Feature».Это будет регистрировать все IP-адреса, пытающиеся войти на ваш сайт. Вы можете получить мгновенное электронное письмо, когда есть блокировка, и просмотреть полный список заблокированных IP-адресов в разделе «Безопасность WP> Панель управления> Заблокированные IP-адреса».
Опция блокировки входа в систему в плагине All in One WP Security and Firewall
- Включите IP-адреса спамеров в комментариях в разделе «Предотвращение спама> Мониторинг IP-адресов спама в комментариях». Вы можете автоматически заблокировать IP-адрес спамера навсегда при получении определенного количества спам-комментариев.Все постоянно заблокированные IP-адреса можно просмотреть в разделе «Панель управления> Список постоянной блокировки».
Когда у вас есть список вредоносных IP-адресов, перейдите к опции «Blacklist Manager». Введите IP-адреса по одному в каждой строке и сохраните настройки. Вы можете ввести индивидуальный IP-адрес или использовать подстановочный знак, например 195.47.89. * Или 195.47. *. * Или 195. *. *. *.
Диспетчер черных списков IP-адресов и агентов пользователей
Когда у вас есть список плохих ботов, как мы предоставили в разделе выше, введите все имена ботов в разделе «Введите пользовательских агентов».Это заблокирует доступ этих ботов к вашему сайту.
На данный момент плагин имеет ошибку, когда пользовательский агент имеет \ в имени. Он добавляет много слэшей автоматически каждый раз, когда вы сохраняете список, что делает его недопустимым именем.
Плагин также имеет платное дополнение для блокировки на уровне страны, которое обойдется вам примерно в 29 долларов за лицензию на один сайт.
Заключение
Постоянный мониторинг и блокировка IP-адресов, поэтому мы рекомендуем использовать «Все в одном WP Security & Firewall» или любой другой плагин безопасности для этой цели.В то же время блокировка плохих ботов — это одноразовое действие, или вы можете сделать это по мере необходимости, напрямую отредактировав файл .htaccess. В любом случае убедитесь, что вы отслеживаете и блокируете вредоносные IP-адреса. Это не только поможет повысить безопасность вашего сайта, но и сэкономит пропускную способность на вашем хостинг-сервере, запретив доступ злоумышленникам и пользовательским агентам.
Защита паролем с помощью Apache, но разрешена от пользовательского агента
В этом сообщении показано, как защитить паролем веб-сайт с помощью Apache.htaccess, но по-прежнему разрешает доступ определенному пользовательскому агенту.
Почему?
Разрешение доступа процессу или браузеру их пользовательского агента на самом деле не самое идеальное решение: гораздо лучше разрешить доступ по IP-адресу, но иногда это необходимо, если IP-адрес удаленного процесса / браузера может измениться, но user-agent останется прежним.
В идеале этот метод не следует использовать для чего-то, требующего высокого уровня безопасности, но он может быть полезен, если вам нужно, как я, разрешить доступ к обратному вызову поставщика платежных услуг, чтобы ваш веб-сайт знал, что платеж был успешно обработан .
Как?
Добавьте это в свой файл .htaccess, см. Ниже, что вам нужно заменить:
SetEnvIfNoCase User-Agent [UserAgentName] AllowedUserAgent AuthUserFile /path/to/.htpasswd AuthName «Ограниченный доступ» AuthType Basic Заказать отказать, разрешить Запретить всем Требовать пользователя [имя пользователя] Разрешить от env = AllowedUserAgent Satisfy Any
Измените [UserAgentName] на имя пользовательского агента. Вы можете использовать сопоставление с образцом, поэтому. * Google. * Будет сопоставлять пользовательский агент с «google» в любом месте.
Измените /path/to/.htpasswd на фактическое расположение файла паролей.
Измените [имя пользователя] на имена пользователей, которым вы хотите разрешить доступ.
Пример реального мира
Мне нужно было протестировать PxPay с помощью решений для прямых платежей (DPS), которые используют то, что они называют «уведомлением о результатах безотказной работы (FPRN)». Они специально отмечают, что при отправке уведомления о платеже не должно быть какой-либо условной логики, основанной на исходном IP-адресе.
На самом деле я не могу делать никаких предположений о пользовательском агенте, но когда я его тестировал, он всегда передавался как PXL1, так что это то, что мне нужно.htaccess выглядел так:
SetEnvIfNoCase User-Agent PXL1 DPS AuthUserFile /path/to/.htpasswd AuthName «Ограниченный доступ» AuthType Basic Заказать отказать, разрешить Запретить всем Требовать пользователя [имя пользователя] Разрешить от env = DPS Удовлетворительно
У меня есть ряд других рецептов и советов по защите паролем, IP-адресом и т. Д. С помощью .htaccess в моем посте с рецептами, советами и приемами Apache .htaccess, поэтому обязательно ознакомьтесь с ними.
Clockwatchers Web Hosting — robots.txt Учебник
роботов.в строках SetEnvIfNoCase указывает нашему файлу .htaccess блокировать что-либо начиная со строки, которую мы предоставляем.Любой пользовательский агент, начинающийся непосредственно с Teleport , будет заблокирован, независимо от того, номера версии или добавленного текста.
2. Инструмент для создания файла .htaccess
Этот инструмент может создавать для вас файлы .htaccess, блокируя некоторых роботов. обсуждается в этом руководстве.
Вы также можете ввести до шести настраиваемых строк User-Agent, которые нужно заблокировать. твой сайт.Введите по одному в поле.
Заблокировать User-Agent в htaccess для веб-сервера Apache
Это руководство покажет вам, как заблокировать запросы к вашему сайту, если они идут с определенным User-Agent. Это может быть очень полезно для защиты от DDoS-атаки pingback WordPress или блокировки других нежелательных запросов.
Предполагая, что .htaccess
уже включен на вашем сервере ( это на большинстве серверов с Apache ), добавьте следующее в самом верху, чтобы заблокировать доступ этого пользовательского агента к вашему сайту.(WordPress | ApacheBench) [NC]
RewriteRule. * — [F, L]
В приведенном выше примере блокируются все запросы с помощью User-Agent, который запускается с WordPress или ApacheBench.
В качестве альтернативы можно использовать блок SetEnvIfNoCase
, который устанавливает переменную среды, если описанное условие выполнено. Это может быть полезно, если по какой-то причине mod_rewrite
недоступен.
$ cat .htaccessSetEnvIfNoCase User-Agent (sqlmap | wordpress | apachebench) bad_user_agents Заказать разрешить, запретить Разрешить от всех Запретить от env = bad_user_agents
В приведенном выше примере будет отказано в доступе всем, у кого есть User-Agent, в строке которого есть SQLMap, WordPress или ApacheBench.Модификатор .
Шаг 6 — Как настроить свои сайты PBN — SEO Content Machine
SetEnvIfNoCase User-Agent. * Rogerbot. * Bad_bot SetEnvIfNoCase User-Agent. * Exabot. * Bad_bot SetEnvIfNoCase User-Agent. * Mj12bot. * Bad_bot SetEnvIfNoCase User-Agent. * Dotbot. * Bad_bot SetEnvIfNoCase User-Agent. * Gigabot. * Bad_bot SetEnvIfNoCase User-Agent. * Ahrefsbot. * Bad_bot SetEnvIfNoCase User-Agent. * Sitebot. * Bad_bot SetEnvIfNoCase User-Agent. * Semrushbot. * Bad_bot SetEnvIfNoCase User-Agent.* ia_archiver. * bad_bot SetEnvIfNoCase User-Agent. * Searchmetricsbot. * Bad_bot SetEnvIfNoCase User-Agent. * Seokicks-robot. * Bad_bot SetEnvIfNoCase User-Agent. * Sistrix. * Bad_bot SetEnvIfNoCase User-Agent. * Lipperhey spider. * Bad_bot SetEnvIfNoCase User-Agent. * Ncbot. * Bad_bot SetEnvIfNoCase User-Agent. * Backlinkcrawler. * Bad_bot SetEnvIfNoCase User-Agent. * Archive.org_bot. * Bad_bot SetEnvIfNoCase User-Agent. * Meanpathbot. * Bad_bot SetEnvIfNoCase User-Agent. * Pagesinventory. * Bad_bot SetEnvIfNoCase User-Agent.* aboundexbot. * bad_bot SetEnvIfNoCase User-Agent. * Spbot. * Bad_bot SetEnvIfNoCase User-Agent. * Linkdexbot. * Bad_bot SetEnvIfNoCase User-Agent. * Nutch. * Bad_bot SetEnvIfNoCase User-Agent. * Blexbot. * Bad_bot SetEnvIfNoCase User-Agent. * Ezooms. * Bad_bot SetEnvIfNoCase User-Agent. * Scoutjet. * Bad_bot SetEnvIfNoCase User-Agent. * Majestic-12. * Bad_bot SetEnvIfNoCase User-Agent. * Majestic-seo. * Bad_bot SetEnvIfNoCase User-Agent. * Dsearch. * Bad_bot SetEnvIfNoCase User-Agent. * Blekkobo. * Bad_bot SetEnvIfNoCase User-Agent.* кричащая лягушка сео паук /*.* bad_bot SetEnvIfNoCase User-Agent. * PHPCrawl. * Bad_bot SetEnvIfNoCase User-Agent. * Gocrawl. * Bad_bot SetEnvIfNoCase User-Agent. * DigExt. * Bad_bot SetEnvIfNoCase User-Agent. * DomainSONOCrawler. * Bad_bot SetEnvIfNoCase User-Agent. * TweetmemeBot. * Bad_bot. SetEnvIfNoCase User-Agent. * OpenHoseBot / 2.1. * Bad_bot SetEnvIfNoCase User-Agent. * Kraken / 0.1. * Bad_bot SetEnvIfNoCase User-Agent. * - Java -. * Bad_bot SetEnvIfNoCase User-Agent. * Ubermetrics. * Bad_bot SetEnvIfNoCase User-Agent.* лучший поисковая оптимизация. * bad_bot SetEnvIfNoCase User-Agent. * Synapse. * Bad_bot SetEnvIfNoCase User-Agent. * Harvest. * Bad_bot SetEnvIfNoCase User-Agent. * Harvester. * Bad_bot SetEnvIfNoCase User-Agent. * Harvester. * Bad_bot SetEnvIfNoCase User-Agent.