php获取代理服务器真实内网IP方法
生活随笔
收集整理的這篇文章主要介紹了
php获取代理服务器真实内网IP方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
功能:獲取用戶真實(shí)IP地址,代理服務(wù)器內(nèi)網(wǎng)IP,防HTTP_CDN_FORWARDED_FOR注入
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'];
}
//如果是代理服務(wù)器,有可能返回兩個(gè)IP,這是取第一個(gè)即可
if (stristr($realip, ','))
$realip = strstr($realip, ',', true);
return (str_replace('#', '', $realip));
}
關(guān)于注入漏洞,可以查看:http://www.cnblogs.com/chengmo/archive/2013/05/29/php.html)
總結(jié)
以上是生活随笔為你收集整理的php获取代理服务器真实内网IP方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “vector”: 不是“std”的成员
- 下一篇: iOS应用内跳转百度高德苹果地图