Мне нужен мой PHP-скрипт, чтобы определить, имеет ли пользователь доступ к нему из локальной сети или нет.Как определить, доступен ли пользователь из локальной сети?
Я до сих пор использовал $ _SERVER ['REMOTE_ADDR'], чтобы определить, попадает ли ip-адрес пользователя в частный IP-диапазон, но он не работает с ipv6.
Текущий код используется ...
if(filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)){
echo "NOT private or reserved ip";
}else{
echo "private or reserved ip";
}
... но это, кажется, не в состоянии, сообщая мой ipv6 не частным или защищены.
Какой код использовался для IPv4? Что вы сделали, чтобы попытаться исправить проблему? IP6-адреса имеют совсем другой набор правил форматирования и могут быть даже переменной длиной в отличие от 32-битного номера, который составляет IP4-адрес. Как вы пытаетесь их разобрать? – GordonM
Не IPv6 всегда 64 бит с переменной длиной записи? –
@DeadElvis У меня есть локальная сеть на '10.1.7.' –