这不起作用,它也不会给我带来任何错误
if($_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
//My code
}
//NOTE: echo $_SERVER['REMOTE_ADDR'] is "::1"
这不起作用,它也不会给我带来任何错误
if($_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
//My code
}
//NOTE: echo $_SERVER['REMOTE_ADDR'] is "::1"
您的代码中的一切看起来都很好,试试这个看看,如果它是 IPv6,这应该可以工作
if($_SERVER['REMOTE_ADDR'] == '::1') {
//Your Code
}
你得到 ::1 的原因是你使用的是 ipv6。将其关闭或在您的语句中同时包含 127.0.0.1 和 ::1。
if($_SERVER['REMOTE_ADDR'] == '::1' || $_SERVER['REMOTE_ADDR'] == '127.0.0.1') {
//Your Code
}
即使您迁移到另一台服务器,这也应该使其安全。
如前所述,服务器配置为使用 ipv6 地址处理它, ::1 是 127.0.0.1 的 ipv6 等价物
因为您在本地主机中:
if($_SERVER['REMOTE_ADDR'] == '127.0.0.1' || $_SERVER['REMOTE_ADDR'] == '::1') {
//Your code
}