Как я могу проверить, находится ли входящий IP-адрес в маске подсети, используя PHP? ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Как я могу проверить, находится ли входящий IP-адрес в маске подсети, используя PHP?

Сообщение Anonymous »

У меня есть приложение Laravel, в котором я создал промежуточное программное обеспечение для маршрута API для проверки IP-адреса запроса по белому списку IP-адресов, хранящемуся в файле .env (я хотел бы сохранить IP-адреса в таблице базы данных, но не уверен в этом). лучший способ хранить IP-адреса с подсетью, но это вопрос для другого дня).
Теперь мне нужно добавить IP-адрес с маской подсети в белый список. Как я могу изменить приведенный ниже код, чтобы проверить, находится ли IP-адрес запроса в диапазоне подсети?
$requestIP = '12.23.34.56';

// Original array of IP addresses
// $whitelist = collect([
// '127.0.0.1',
// ]);

$whitelist = collect([
'127.0.0.1',
'12.23.34.0/27'
]);

if ($whitelist->contains($request->ip())) {
return $next($request);
}

abort(response('Unauthorized IP', 403));


Подробнее здесь: https://stackoverflow.com/questions/791 ... -using-php

Вернуться в «Php»