X-Forward-For
定义
x-forward-for 是http的协议中,头部中的一个字段,主要用于服务器获取发送请求数据包的客户端的真实IP。
有时候服务器端为了保护自己,或者为了提高用户 访问的效率,会使用反向代理和CDN(负载均衡)。
即客户访问数据的请求都发送给了代理,而不是真正服务器,然后由代理服务器向真正的服务器发送请求,这样客户就不知道服。务器的真实地址,很多博彩网站会采用这种方式。
而CDN就起到分流的作用,比如某个网站在全国访问量很大,于是他们便在一些重要的城市建机房或者租运营商的机房,这样客户访问网站时就从离他们比较近的机房处取数据,而机房则从真正的服务器取数据。
以上两种情况,服务器接收的请求源IP为代理服务器或CDN节点,无法获得客户的IP,为了获得客户IP,可以在请求数据包中设置X-FORWARD-FOR字段,记录客户的真实IP,但是这个字段值客户可以伪装。
有的攻击者会将该字段设置会域名,这样服务器为了获取客户端的真实IP,会对X-FORWARD-FOR字段中的域名进行域名解析以获得IP。所以为了避免被攻击,服务器要设置禁止对外访问,以免解析恶意域名,并与恶意网站建立连接。