X-Forwarded-For伪造及防御

使用x-Forward_for插件或者burpsuit可以改包,伪造任意的IP地址,使一些管理员后台绕过对IP地址限制的访问。

防护策略:
1.对于直接使用的 Web 应用,必须使用从TCP连接中得到的 Remote Address,才是用户真实的IP;
2.对于使用 nginx 反向代理服务器的Web应用,nginx必须使用Remote Address正确配置set Headers,后端服务器则使用nginx传过来的相应IP地址作为用户真实IP;同时,后端服务器应使用X-Real-IP 或 X-Forwarded-For最后1段IP作为限制,允许自己的nginx服务器访问,禁止其它IP访问,禁止对外提供服务
构造 HTTP请求 Header 实现“伪造来源 IP ”

一般情况下确实是取$_SERVER['REMOTE_ADDR']就行了

上网找PHP获取真实IP会有许多不同版本的代码版本,有优先获取HTTP_CLIENT_IP的也有优先获取HTTP_X_FORWARDED_FOR的

其实我自己也不知道哪个才是对的,但这里大家都有一个共识:HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR都可以被伪造,

原文地址:https://www.cnblogs.com/drkang/p/8619810.html