功能:獲取用戶真實IP地址,代理服務器內網IP,防HTTP_CDN_FORWARDED_FOR注入php
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) html