http_x_forwarded_for
安全吗?
在请求中,是否可以使用http_x_forwarded_for
修改fake ip
?
黑客能做到吗?
答案 0 :(得分:1)
is http_x_forwarded_for safe?
这取决于您所依赖的代理服务器。代理服务器完全控制此标头,它可以设置标头中的任何值。因此,如果您控制代理,则可以信任该属性并确认其正确的信息。我过去曾成功使用过这个来读取可信代理服务器设置的客户端IP地址。
is it able to modify the http_x_forwarded_for with fake ip?
Can hackers do that?
如果您正在讨论在到达服务器之前在包含多个代理服务器的网络中的特定跃点处修改请求,那么是可能的。因此,它取决于您如何控制它的代理设置。如果它通过拦截转发的代理请求来改变网络隧道上的报头,那么IMO可能是可能的,但可以使用正确的握手协议来避免。
答案 1 :(得分:0)
由于IP网络的工作方式,无法告知连接到服务器的客户端的实际IP地址。这个问题甚至没有意义。如果在网络上使用NAT,您希望将哪个IP视为客户端IP,NATed网络上的内部(本地)IP,还是第一个公共IP?当整个互联网提供商公司与nat背后的客户网络合作时,你会从后者中获得什么(虽然这种情况越来越少)?
您需要确认,在IP网络中,流量通过许多节点,其中一些节点可能会更改请求的明显IP地址。这些包括NAT服务器和不同类型的代理,您无法在到达服务器之前告知数据包发生了什么。
同样在HTTP中,可以伪造任何请求标头。这包括以您最喜欢的语言以SERVER_
开头的任何变量。这些不可信任,用户可以发送任何他想要的东西。
唯一的例外是实际明显的客户端IP,它更难伪造,但只提供最后一跳(最后一个代理,或最后一个nat服务器)。
此外,大多数情况下,如果您需要准确了解客户端IP,那么逻辑上就会出现问题。例如,您必须接受客户端IP绝不是用户(人)的标识符。