В последние дни на моем VPS было много запросов GET к 1 файлу, которые вызывают высокую нагрузку на память (все исходили с одного ссылочного URL с разными IP-адресами).
До сих пор я блокировал эти запросы через .htaccess
# by refurl
RewriteCond %{HTTP_REFERER} domain\.com [NC]
RewriteRule .* - [F]
# by querystring
RewriteCond %{QUERY_STRING} \ba=ZicX9v\b [NC]
RewriteRule ^ - [F]
Но таким образом запросы все еще обрабатываются apache и по-прежнему вызывают высокую нагрузку на память.
Могу ли я заблокировать эти запросы с помощью mod_security (возможно, на этапе 1), чтобы предотвратить / уменьшить нагрузку на память?
До сих пор я установил для этого правила значение mod_secuurity (но я не уверен, что это правильно):
SecRule REQUEST_HEADERS:REFERER "(?i:(THEDOMAIN))" phase:1,deny,status:412,id:'1234'
PS: мой VPS - это Linux с apache2.2
РЕДАКТИРОВАТЬ: весь мой веб-сайт использует HTTPS, не уверен, следует ли мне что-то добавлять
Я проверил ваше правило, и, похоже, оно работает.
Вы также можете проверить это с помощью curl, примерно так:
curl --referer https://bad-referer-domain.com https://your-site.com