Tag:X-Forwarded-For

Tag (X-Forwarded-For)'s result:

简谈X-Forwarded-For的一些事

X-Forwarded-For(XFF)是HTTP请求头字段之一。 格式:X-Forwarded-For: client1, proxy1, proxy2, proxy3 只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。 请求从client1发出,XFF为空,再到从proxy1发出,请求里XFF就添加了client1,再从proxy2发出,请求里XFF就添加了proxy1,再到proxy3,再从proxy3发出,请求里XFF就添加了proxy2,注意这里porxy3不会添加到XFF,因为proxy3就是在tcp包的源IP。 一些程序如C#和php获取客户端IP会这样写: C#:string client1 = Request.ServerVariables[“HTTP_X_FORWARDED_FOR”]; PHP: getenv(‘HTTP_X_FORWARDED_FOR’) 看起来好像很正常,但是X-Forwarded-For是可以被伪造的(如刷票之类),只需在请求头中添加即可,如 C#: request.Headers.Add(“X_FORWARDED_FOR”, “6.6.6.6”); PHP: $headers = array( ‘X-Forwarded-For:’.6.6.6.6, ); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);   Python: Header = { ‘X-Forwarded-For’: ‘6.6.6.6’, }