我通過將$_SERVER['REMOTE_ADDR']
的值保存在MySQL數據庫中來保存用戶的IP地址。問題是,對於Firefox和Chrome $_SERVER['REMOTE_ADDR']
是::1
(這意味着本地主機在IPv6)和IE和Opera是127.0.0.1
(IPv4)。不同的瀏覽器,不同的IP?
所以,我的問題是
爲IP版本瀏覽器的依賴? (我曾經認爲它取決於計算機的 )
我應該在數據庫中創建兩個字段,一個用於IPv4地址,另一個用於IPv6地址?
我應該統一所有的IP到IPv6嗎?我怎麼能在PHP中做到這一點(如果甚至可能)?
但......不是IP相同,但只有在不同的表現?我的意思是,如果一個網頁在Chrome中導航時通過IP禁止我,這意味着使用Opera I進行日誌記錄可以繞過它嗎? – federicot
不是。它是兩種不同的網絡傳輸,具有兩個不同的地址空間。在雙協議網絡中,您有一個IPv6地址和一個IPv4地址,這可能會或可能不會匹配,具體取決於網絡設置。 –
@John Doe:理論上,是的。你有兩個不同的IP,所以阻止一個IP仍然會讓另一個通過。實際上,可能不是。有很多啓用了IPv6的站點,並且沒有提供IPv6連接的ISP沒有隧道/封裝。 –