Как настроить Apache для предоставления настраиваемого ответа на запрос POST с забаненного IP-адреса? - PullRequest
1 голос
/ 08 января 2020

Кто-то пытается взломать мой сайт Wordpress, так что я с ними связываюсь. Они используют скрипт для угадывания паролей непосредственно на страницу wp-login. php. Я могу достаточно легко заблокировать это с помощью моего файла .htaccess:

<limit POST>
order deny,allow
deny from 188.213.49.210
</limit>

ErrorDocument 403 /fakelogin.php

Но сообщения POST не перенаправляют на мою страницу ошибки 403. Страница fakelogin, для любопытных, заставляет скачивать Le go Mov ie полностью каждый раз, когда они угадывают пароль:

<?php
        $file_url = '/rsc/The.Lego.Movie.2014.m4v';
        header('Content-Type: application/octet-stream');
        header("Content-Transfer-Encoding: Binary");
        header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
        echo "Fake page";
        readfile($file_url);
?>

Мои знания php ограничены. Как я могу выполнить вышеупомянутую задачу, когда он делает POST для wp-login. php? Я готов отредактировать wp-login. php при необходимости.

1 Ответ

1 голос
/ 08 января 2020

Исходя из вашего вопроса, вот простое решение.

При наличии формы запроса 188.213.49.210 php перенаправит на страницу загрузки.

<?php

$blocked_IP= $_SERVER['REMOTE_ADDR'];

if(preg_match("/188.213.49.210/",$blocked_IP)) { 
header('Location: https://example.com/The._Lego_Movie_2014_download_page.php');
exit; //<-- Here 
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...