怎么查询使用CDN后Discuz论坛网站真实IP地址的方法
使用了国外的空间的站长经常会苦恼空间访问速度慢,DNS解析反应慢的问题。为了解决这些问题,最好的办法就是使用CDN,加快博客和网站从国内的访问速度,提高用户体验度。而且适合DZ使用任何一种CDN产品之后照成的这种情况。
首先说手该问题导致的结果:
1Discuz论坛可能无法获得用户的真实IP,导致某些用户IP显示的是CDN产品节点的IP
2论坛访问量过大的话,可能会导致用户访问时提示“抱歉,您的 IP 地址不在被允许,或您的账号被禁用,无法访问本站点”
接下来谈谈产生原因:
使用CDN,对于网站访客来说,相当于使用了代理访问,而DZ在设计上,是优先获取代理IP,其它才会检测代理服务器是否将用户真实IP传输过来,也就是说获取代理IP优先于用户真实IP。如果您的网站不需要对用户访问做过多的限制,强烈建议按照以下方法进行:
第一种(DZ X2版本):打开DZ,/source/class/class_corephp 文件;
搜索“HTTP_CLIENT_IP”,找到下面这段代码:
function _get_client_ip() {
$ip = $_SERVER[‘REMOTE_ADDR’];
if (isset($_SERVER[‘HTTP_CLIENT_IP’]) && preg_match(‘/^([0-9]{1,3}\){3}[0-9]{1,3}$/’, $_SERVER[‘HTTP_CLIENT_IP’])) {
$ip = $_SERVER[‘HTTP_CLIENT_IP’];
} elseif(isset($_SERVER[‘HTTP_X_FORWARDED_FOR’]) AND preg_match_all(‘#\d{1,3}\\d{1,3}\\d{1,3}\\d{1,3}#s’, $_SERVER[‘HTTP_X_FORWARDED_FOR’], $matches)) {
foreach ($matches[0] AS $xip) {
if (!preg_match(‘#^(10|172\16|192\168)\#’, $xip)) {
$ip = $xip;
break;
}
}
}
return $ip;
}
替换成一下代码:
function _get_client_ip() {
$ip = $_SERVER[‘REMOTE_ADDR’];
if (isset($_SERVER[‘HTTP_X_REAL_FORWARDED_FOR’]) && preg_match(‘/^([0-9]{1,3}\){3}[0-9]{1,3}$/’, $_SERVER[‘HTTP_X_REAL_FORWARDED_FOR’])) {
$ip = $_SERVER[‘HTTP_X_REAL_FORWARDED_FOR’];
}
elseif (isset($_SERVER[‘HTTP_X_FORWARDED_FOR’]) && preg_match(‘/^([0-9]{1,3}\){3}[0-9]{1,3}$/’, $_SERVER[‘HTTP_X_FORWARDED_FOR’])) {
$ip = $_SERVER[‘HTTP_X_FORWARDED_FOR’];
}
elseif (isset($_SERVER[‘HTTP_CLIENT_IP’]) && preg_match(‘/^([0-9]{1,3}\){3}[0-9]{1,3}$/’, $_SERVER[‘HTTP_CLIENT_IP’])) {
$ip = $_SERVER[‘HTTP_CLIENT_IP’];
}
return $ip;
}
希望可以帮助到你
一 辨别一个网站是否wordprss模板
1、查看或js、cs的路径是否有wp-content
2、查看robots协议中有没有屏蔽wp-admin或wp-includes
3、在网站的URL中输入wp-admin是否进入网站的登录页面
二辨别一个网站是否织梦cms模板
1、在网站首页的URL中输入indexhtml或者栏目页输入indexhtml,看网站是否有变化,因为织梦的默认首页是indexhtml,虽然打开的首页没有这后缀名,但其实指做了调整
2、查看网站的底部是否有织梦cms的版权,有些网站会把版权删除
3、查看robots协议中是否有屏蔽/plus的
三辨别一个网站是否discuz论坛
1、查看网站的底部是否有discuz论坛的版权,或powered by discuz!有的网站标题本身就有powered by discuz!但也有网站会删除
2、discuz论坛是伪静态,URL正常是forum-44-1html或thread-2162-1-1html结尾
0条评论