Назад | Перейти на главную страницу

Блокировка ссылающихся доменов через httpd.conf

Я использую следующий код, чтобы заблокировать спам от реферера на сайте, который получает огромный объем спам-трафика.

я сказал что с точки зрения нагрузки на сервер более эффективно использовать httpd.conf, но я в основном не знаком с этим типом операций и не нашел особых руководств по конкретной ситуации. Может ли кто-нибудь помочь с учебными пособиями или ресурсами, показывающими аналогичные методы блокировки ссылающихся доменов?

RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} spammer-one\.com [NC,OR]
RewriteCond %{HTTP_REFERER} spammer-two\.com
RewriteCond %{HTTP_REFERER} spammer-three\.com
RewriteRule .* - [F]

Кроме того, стоит ли тратить время на блокировку через httpd.conf, значительно ли это снизит нагрузку на сервер по сравнению с кодом htaccess выше?

Можешь попробовать SetEnvIf Referer, что-то в строках:

SetEnvIf Referer spammer-one\.com spammers
SetEnvIf Referer spammer-two\.com spammers
SetEnvIf Referer spammer-three\.com spammers

...

Order Allow,Deny
Allow from all
Deny from env=spammers

в файле определения vhost / httpd.conf.

Дальнейшее чтение:

http://httpd.apache.org/docs/2.0/mod/mod_setenvif.html#setenvif

http://httpd.apache.org/docs/2.0/mod/mod_access.html

если вы хотите использовать его в масштабе всего сервера, вы можете использовать это в своем httpd.conf:

<Directory /var/www/vhosts/*/httpdocs>

SetEnvIf Referer spammer-one\.com spammers
SetEnvIf Referer spammer-two\.com spammers
SetEnvIf Referer spammer-three\.com spammers

Order Allow,Deny
Allow from all
Deny from env=spammers
</Directory>

Замените / var / www / vhosts / * / httpdocs на правильный путь на вашем сервере. Подстановочный знак «*» действительно работает.