Неважно, как сильно я стараюсь. Мой htaccess не имеет никакого смысла. Я хочу заблокировать POST-запросы, приходящие с определенных IP-адресов.
Этот код работает и блокирует все POST-запросы:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteRule .* – [F,L]
</IfModule>
Мне просто нужно добавить условия в черный список IP-адресов, как показано ниже:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REMOTE_ADDR} =123.123.123.123 [OR]
RewriteCond %{REMOTE_ADDR} =222.222.222.222 [OR]
RewriteCond %{REMOTE_ADDR} =111.111.111.111
RewriteRule .* – [F,L]
</IfModule>
На бумаге это должно работать, но на самом деле это не так. Когда я выполняю POST с одного из IP-адресов, занесенных в черный список (например, 123.123.123.123), блок не запускается.
Что не так с моим кодом?
Прежде чем вы спросите, я не могу использовать Разрешить, Запретить и да, я использую реальные IP-адреса для запуска тестов. Я просто не хочу их публиковать: P