Может кто объяснит новичку

Необязательно решать, просто помогите разобраться с тем, как это правильно выполняется. Пробовал различные варианты, но пока не могу прийти к правильному решению.

Напиши программу, которая будет проверять 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 шт):

Автор решения: noobaster

Код будет примерно следующим:

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()

Как-то так)

→ Ссылка