使用$ _SERVER [' REMOTE_ADDR']可靠处理PHP错误?

时间:2014-06-04 12:04:32

标签: php security reliability

使用$_SERVER['REMOTE_ADDR']正确自动处理错误是否可靠?

我正在考虑使用它来自动禁用任何PHP错误的显示,显示一般“哎呀,没有错误。”错误的用户并在内部记录,如果用户的IP地址在白名单中找到。

白名单将包含本地主机IP和任何其他IP地址,例如我的家用电脑。

但如果人们能够通过将其设置为他们想要的任何值来伪造$_SERVER['REMOTE_ADDR'],那么我认为这不是一个好主意。

1 个答案:

答案 0 :(得分:1)

$_SERVER['REMOTE_ADDR']是从三方确认的TCP握手中获取的地址。它非常强大。要伪造它,你必须伪造实际的底层TCP / IP连接,这通常是一个很高的订单。

我要关注的是改变IP。 127.0.0.1可能非常安全,但您的家庭IP 最终可能更改,而其他人可能会分配它。这可能不是一个大问题,也可能不是。或者您可能看起来与大量其他用户具有相同的IP,ISP会随着时间的推移切换到运营商级NAT。

总而言之,使用IP作为识别系统是不稳定的。 IP是数据传输机制的实现细节,没有人曾经说过任何关于IP的信息适用于网络范围的用户识别。我至少将它与需要设置的秘密cookie或需要建立的常规认证配对。

相关问题