Hasty Briefsbeta

双语

What is X-Forwarded-For and when can you trust it? (2024)

10 months ago
  • #HTTP Headers
  • #Networking
  • #Web Security
  • X-Forwarded-For(XFF)HTTP标头通过列出经过多个中间节点的原始客户端IP地址,揭示了网络请求的来源。
  • 若没有XFF标头,服务器只能看到最后一个中间节点的IP,而无法识别真正的客户端来源。
  • XFF标头被用于用户认证、负载均衡、数据本地化、地理内容分发、访问控制、欺诈防范等多种场景。
  • XFF标头可能被伪造,因此在未经验证的情况下绝不应完全信任其内容。
  • 可信的反向代理可以通过安全替换或追加客户端IP来净化XFF标头。
  • 要确定真实客户端IP,应从右至左读取XFF列表,并跳过已知的内部IP地址。
  • 解析XFF标头需谨慎处理,以避免注入或请求走私等安全风险。
  • XFF的替代方案包括标准化的Forwarded标头,它提供了更好的扩展性和安全性。
  • 其他非标准标头如X-Real-IP、CF-Connecting-IP和Via在特定场景下也发挥类似作用。
  • 正确使用XFF或Forwarded标头可提升安全性、性能表现,并有助于遵守隐私法规。