php获取代理服务器真实内网IP方法
功能:获取用户真实IP地址,代理服务器内网IP,防HTTP_CDN_FORWARDED_FOR注入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function getIP() { if (isset( $_SERVER [ "HTTP_CDN_SRC_IP" ])) { $realip = $_SERVER [ "HTTP_CDN_SRC_IP" ]; } else if (isset( $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]) && preg_match( '/^([0-9]{1,3}\.){3}[0-9]{1,3}$/' , $_SERVER [ 'HTTP_X_FORWARDED_FOR' ])) { $realip = $_SERVER [ 'HTTP_X_FORWARDED_FOR' ]; } elseif (isset( $_SERVER [ 'HTTP_CLIENT_IP' ])) { $realip = $_SERVER [ 'HTTP_CLIENT_IP' ]; } else { $realip = $_SERVER [ 'REMOTE_ADDR' ]; } //如果是代理服务器,有可能返回两个IP,这是取第一个即可 if ( stristr ( $realip , ',' )) $realip = strstr ( $realip , ',' , true); return ( str_replace ( '#' , '' , $realip )); } |
关于注入漏洞,可以查看:http://www.cnblogs.com/chengmo/archive/2013/05/29/php.html)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步