李明博客使用安全宝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条)