WEB应用防火墙 WAF-获取客户端真实IP:通过WAF直接获取客户端真实IP
通过WAF直接获取客户端真实IP
网站接入WAF后,WAF作为一个反向代理部署于客户端和服务器之间,实现网站安全防护。WAF获取真实IP原则请参见WAF获取真实IP是从报文中哪个字段获取到的?。
下面为您介绍如何通过X-Forwarded-For和X-Real-IP变量获取客户端真实IP地址的方法:
- WAF使用X-Forwarded-For的方式获取客户端的真实IP地址。
WAF将“真实的客户端IP”放在HTTP头部的“X-Forwarded-For”字段,格式如下:
1
X-Forwarded-For: 用户真实IP, 代理服务器1-IP, 代理服务器2-IP,...
当使用此方式获取客户端真实IP时,获取的第一个地址就是客户端真实IP。
各种语言通过调用SDK接口获取X-Forwarded-For字段的方式:- ASP:
Request.ServerVariables("HTTP_X_FORWARDED_FOR")
- ASP.NET(C#):
Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
- PHP:
$_SERVER["HTTP_X_FORWARDED_FOR"]
- JSP:
request.getHeader("HTTP_X_FORWARDED_FOR")
- ASP:
- WAF服务还支持使用X-Real-IP变量,获取客户的来源IP(使用过程中考虑了后面经过的多层反向代理对该变量的修改)。