HTTP请求头中的X-Forwarded-For用来追踪请求的来源IP
应用案例:投票系统,防止刷票,需要限制一个IP只能投票一次
X-Forwarder-For 格式为
X-Forwarded-For: client1, proxy1, proxy2
X-Forwarder-For 包含多个IP地址,每个值通过逗号+空格分开,最左边(client1)是最原始客户端的IP地址,中间如果有多层代理,每一层代理会将连接它的客户端IP追加在X-Forwarded-For右边。
如果一个 HTTP 请求到达服务器之前,经过了三个代理 Proxy1、Proxy2、Proxy3,IP 分别为 IP1、IP2、IP3,用户真实 IP 为 IP0,那么按照 XFF 标准,服务端最终会收到以下信息:
X-Forwarded-For: IP0, IP1, IP2
获取X-Forwarded-For
头取左边第一个IP即为客户端真实IP