不同的浏览器,不同的IP?

fed*_*o-t 10 php browser ip ipv4 ipv6

我通过保存$_SERVER['REMOTE_ADDR']MySQL数据库中的值来保存用户的IP地址.问题是Firefox和Chrome $_SERVER['REMOTE_ADDR']都是::1(这意味着IPv6中的 localhost ),IE和Opera是127.0.0.1(IPv4).

所以,我的问题是

  • IP版本是否依赖于浏览器?(我以前认为它取决于计算机)

  • 我应该在数据库中创建两个字段,一个用于IPv4地址,一个用于IPv6地址?

  • 我应该将所有IP统一到IPv6吗?我怎样才能在PHP中实现这一点(如果可能的话)?

Sev*_*yev 6

  1. 相当明显 - 你的盒子支持IPv6,Firefox/Chrome只要有可用就使用IPv6,而IE和Opera则不支持(或者它是默认的默认设置).

  2. 将地址存储在足以容纳IPv6地址的字符串中.

  3. 不,因为在一般情况下你不能.

  • 不是.这是两个不同的网络传输,有两个不同的地址空间.在双协议网络中,您具有IPv6地址和IPv4地址,这些地址可能匹配也可能不匹配,具体取决于网络设置. (2认同)