0

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

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

4 回答 4

2

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

if($_SERVER['REMOTE_ADDR'] == '::1') {
   //Your Code
}
于 2013-04-26T07:40:16.473 回答
1

你得到 ::1 的原因是你使用的是 ipv6。将其关闭或在您的语句中同时包含 127.0.0.1 和 ::1。

于 2013-04-26T07:45:51.793 回答
1
if($_SERVER['REMOTE_ADDR'] == '::1' || $_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
   //Your Code
}

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

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

于 2013-04-26T07:46:04.717 回答
0

因为您在本地主机中:

if($_SERVER['REMOTE_ADDR'] == '127.0.0.1' || $_SERVER['REMOTE_ADDR'] == '::1') {
  //Your code
}
于 2013-04-26T07:57:15.557 回答