DedeCMS使用CDN加速后获取真实IP的方法

随着CDN加速的普及,不少站长都会在自己的网站上线后开启CDN加速来提高网站你的访问速度。一旦网站开启CDN加速,我们再Ping网址后显示的ip地址则是CDN加速后的ip地址,并不是网站的真实IP,不少网站如果有需要获取自己网站的真实IP则会不知道怎么办。

今天余斗就教大家如何实现在DedeCMS网站使用CDN加速后获取真实IP,其实很简单,实现代码如下:

{dede:php}

$user_IP = ($_SERVER[
“HTTP_VIA”]) ? $_SERVER[
“HTTP_X_FORWARDED_FOR”] : $_SERVER[
“REMOTE_ADDR”];

$user_IP = ($user_IP) ? $user_IP : $_SERVER[
“REMOTE_ADDR”];

function get_real_ip(){

$ip=
false;


if(!empty($_SERVER[
“HTTP_CLIENT_IP”])){

$ip = $_SERVER[
“HTTP_CLIENT_IP”];

}


if (!empty($_SERVER[
‘HTTP_X_FORWARDED_FOR’])) {

$ips = explode (
“, “, $_SERVER[
‘HTTP_X_FORWARDED_FOR’]);


if ($ip) { array_unshift($ips, $ip); $ip =
FALSE; }


for ($i =
0; $i < count($ips); $i++) {


if(!preg_match(
“/^(10|172\.16|192\.168)\./”, $ $ips[$i])) {

$ip = $ips[$i];


break;

}

}

}


return ($ip ? $ip : $_SERVER[
‘REMOTE_ADDR’]);

}

echo
” “.
” “. get_real_ip();

{/dede:php}

 

将以上代码插入到我们想要显示的模板相关位置即可。