为什么我的环回地址是:: 1而不是127.0.0.1?

时间:2013-04-26 07:39:23

标签: php

这不起作用,它也不会给我带来任何错误

if($_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
  //My code
}
//NOTE: echo $_SERVER['REMOTE_ADDR'] is "::1"

4 个答案:

答案 0 :(得分:2)

你的代码中的一切看起来都很好,试试这个,看看,如果它是IPv6,这应该可行

if($_SERVER['REMOTE_ADDR'] == '::1') {
   //Your Code
}

答案 1 :(得分:1)

你得到:: 1的原因是你正在使用ipv6。关闭它或在你的陈述中同时使用127.0.0.1和:: 1。

答案 2 :(得分:1)

if($_SERVER['REMOTE_ADDR'] == '::1' || $_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
   //Your Code
}

即使您迁移到另一台服务器,也应该使其安全。

如前所述,服务器配置为使用ipv6地址处理它,:: 1是ipv6等效于127.0.0.1

答案 3 :(得分:0)

因为你在本地主持人:

if($_SERVER['REMOTE_ADDR'] == '127.0.0.1' || $_SERVER['REMOTE_ADDR'] == '::1') {
  //Your code
}