李明博客使用安全宝CDN加速后发现评论人的IP都是安全宝CDN的节点IP(也有可能是服务器IP),由于使用CDN后访问用户服务器的IP都变成CDN服务器的IP,查阅了很多资料终于找到了解决办法。
解决这个问题我们需要修改一下emlog内核的代码的,
用编辑器打开 include/lib/function.base.php, 在56行左右能找到以下的代码
/**
* 获取用户ip地址
*/
function getIp() {
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
if (!ip2long($ip)) {
$ip = '';
}
return $ip;
}
将其修改为
/**
* 获取用户ip地址
*/
function getIp() {
$ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$ip = $list[0];
}
if (!ip2long($ip)) {
$ip = '';
}
return $ip;
}
修改完毕后保存即可, 此时你的站点的IP地址就能正常显示了,这种方法也同样适用于加速乐、百度云、七牛等CDN加速的。
文章作者:博客之家
文章標題:解决Emlog开启CDN后评论IP不正确的办法
文章鏈接:https://www.blogs.hk/339.html
本站所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議,轉載請註明來自博客之家 !
文章標題:解决Emlog开启CDN后评论IP不正确的办法
文章鏈接:https://www.blogs.hk/339.html
本站所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議,轉載請註明來自博客之家 !

评论列表(33条)