Ste*_*lan 38 proxy http-headers
要在我的ASP.NET应用程序中获取客户端IP地址,我使用了X-Forwarded-For,并从列表中获取第一个IP地址(根据我找到的信息,有一个客户端,proxy1,proxy2 ..).但我最近听说最好从X-Forwarded-IP头获取此信息,因为X-Forwarded-For中的客户端IP地址可以通过代理修改,有什么区别,我应该使用哪个地址?
Buh*_*ndi 51
X-Forwarded-For是一种识别连接到来自HTTP代理,负载均衡器的Web服务器的用户的原始IP地址的传统方法.
X-Forwarded-IP是通过HTTP邮件服务识别连接到电子邮件服务器的用户的始发IP地址的传统方式.
Fra*_*ble 13
X-Forwarded-For是一个非标准的标题,最初由Squid引入.它是一个特定于代理的头,它可以帮助服务器识别传递代理的调用的原始请求者 - 因此,请求路径上的任何代理都应该/将修改X-Forwarded-For.如果请求路径上没有代理,则此标头甚至不应在请求中.
因为此标头是非标准的,所以无法保证您将获得它,并且它的处理方式可能因代理实现而异.您无法保证它将包含适当的IP.
自2014年以来,IETF批准了代理的标准头定义,称为"转发",在此处记录https://tools.ietf.org/html/rfc7239,应该使用而不是X-Forwarded标头.如果您的请求由代理处理,那么您应该可靠地使用它来获取原始IP.
通常,代理标头(Forwarded或X-Forwarded-For)只有在您确定通过代理来找您时才是获取客户端IP的正确方法.如果没有代理标头或没有可用值,则应默认为REMOTE_ADDR服务器变量.
| 归档时间: |
|
| 查看次数: |
70761 次 |
| 最近记录: |