Может кто объяснит новичку
Необязательно решать, просто помогите разобраться с тем, как это правильно выполняется. Пробовал различные варианты, но пока не могу прийти к правильному решению.
Напиши программу, которая будет проверять IP-адрес пользователя на наличие в черном списке. Это поможет защитить сайт от злоумышленников, которые могут использовать боты для атак на сайт.
В черном списке находятся следующие IP-адреса: 192.168.0.1, 10.0.0.1, 217.182.133.100, 85.20.227.132, 203.0.113.1.
Если IP-адрес находится в черном списке, вывести следующее сообщение: "Данный IP-адрес недоступен. Пожалуйста, повторите попытку позже.". Иначе, выведите: "Добро пожаловать!".
Ответы (1 шт):
Код будет примерно следующим:
function isIpBlock(): bool
{
$black_list = ['192.168.0.1', '10.0.0.1', '217.182.133.100', '85.20.227.132', '203.0.113.1'];
return in_array($_SERVER['REMOTE_ADDR'], $black_list);
}
if (isIpBlock())
{
echo "IP-адрес в черном списке";
die();
}
// продолжаем работу
Поясню что тут написано:
Реализована функция isIpBlock()
которая возвращает true если IP-адрес клиента в "черном списке" (массив $black_list
)
проверка осуществляется с использованием встроенной функции in_array
- берется ip клиента из глобального массива $_SERVER
и выполняется проверка его наличия в массиве ip адресов черного списка.
Если функция возвращает true - прерываем работу скрипта с помощью функции die()
Как-то так)