2
我需要我的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地址具有非常不同的一組格式規則,甚至可以是可變長度的,而不是構成IP4地址的32位數字。你如何解析它們? – GordonM 2012-04-17 11:06:02
是不是IPv6始終是64位,並且可變長度符號? – 2012-04-17 11:08:52
@DeadElvis我在'10.1.7.'上有一個局域網。 – 2012-04-17 11:09:57