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

Как я могу отклонить доступ к серверу для запросов POST с длинными длинами содержимого

У меня проблема с нашим сервером (CentOS 6), где мы получаем повторяющиеся запросы на доступ к wp-login.php по несуществующему URL-адресу, хотя Wordpress попытается выполнить перенаправление.

Мы получаем несколько из них в быстрой последовательности, так что он запускает Apache и занимает всю память на коробке. На данный момент единственный способ решить эту проблему - перезапустить сервер.

Глядя на логи, мы можем увидеть следующее:

"POST /products/productname/wp-login.php HTTP/1.0" 200 6761

Это явно неверно, так как это POST и имеет очень большую длину.

Как лучше всего перехватить и исключить эти типы запросов?

Вы хотите, чтобы ваш Apache даже не перенаправлял этот мусор.

RewriteEngine on
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^/wp-login.php - [R=401]

Запретить все с 401, предполагая /wp-login.php это рассматриваемый URI.