Последнее бновение - 15 января 2023 в 15:38
Оставлю заметку о том, как заблокировать пользователя по IP, то есть запретить доступ к сайту нежелательным посетителям или спам-ботам. Сделать это возможно при помощи файла .htaccess, который находится в корневой папке сайта или файла functions.php. Эти 2 способа испытаны мной на сайтах, работающих под управлением WordPress.
Однако, прежде чем провести блокировку «злостного нарушителя» вашего спокойствия, необходимо определить его айпишник. Для этого посмотри, как узнать ip-адрес посетителя сайта.
С помощью .htaccess
Итак, если данные получены, открываем на редактирование файл .htaccess. Его содержимое дополним следующими строками:
<Limit GET POST>
Order Allow,Deny
Allow from all
Deny from 100.111.222.333
Deny from 111.222.333.444
</Limit>
В коде 100.111.222.333 и 111.222.333.444 — это и есть IP-адреса, которым будет закрыт доступ к вашему сайту. Но бывает необходимо заблокировать некоторый диапазон IP-адресов, целую подсеть. Тогда, к примеру, вместо адреса 111.222.333.444 пропишем вот что — 111.222.333., то есть не будем указывать последнюю цифру. В бан полетит подсеть, которая начинается с цифр 111.222.333..
Можно «перекрыть кислород» так:
<RequireAll>
Require all granted
Require not ip 100.111.222.333
Require not ip 111.222.333.444
</RequireAll>
С помощью functions.php
Есть вариант блокировки IP средствами PHP. Следует открыть на редактирование файл functions.php и дополнить его следующей функцией:
$ipUser = $_SERVER['REMOTE_ADDR']; // Получаем IP пользователя
// список заблокированных IP-адресов
$arrayBanIP = array(
'111.222.333.44',
'222.333.444.55',
'333.444.555.66'
);
// если IP-адрес есть в списке заблоченных
if(in_array($ipUser, $arrayBanIP)){
// то скрипт выведет сообщение для пользователя
die('А вам доступ запрещён...');
}
Сохранить файл. В результате работы этой функции, визитёры с указанными в коде IP-адресами не смогут зайти на ваш сайт. Кроме того, в браузере они увидят сообщение: «А вам доступ запрещён…».
Всем WEB!
Спасибо, пригодилось. Заблокировала один ip, помогло.
Ну и хорошо, надеюсь, было несложно.