WordPress使用云盾后正确获取评论真实IP的方法

Timle.CN:专注 WordPress建站WordPress主题WordPress插件 分享,同时也关注各种 建站资源前端技巧免费资源IT互联网热点 。CTRL+D即可收藏本站,我们期待您的再次光临!

[文章目录]

阿里云云盾在DDoS防护和主机安全防护都做得很出色,对阿里云用户来说是个很不错的辅助,但是有个问题,使用云盾之后PHP正常获取到的IP都是云盾的IP而不是用户真实IP,对WordPress来说,最常记录用户IP的地方就是评论,所以本文说明一下WordPress使用云盾后如何正确获取评论作者的真实IP地址。

解决思路

阿里云把真实IP放在了头部信息中:

接入”网站安全防御(WAF)”防护服务后,”网站安全防御(WAF)”会在HTTP Header中加入标准的X-Forworded-For字段,字段中含有网站用户真实IP地址。如果网站有使用和用户真实IP相关的服务,可直接读取该字段,获取用户真实IP。

以上是来自阿里云帮助中心的说明,既然这样,配合WordPress内置的评论作者IP钩子即可实现获取真实IP。

实现代码

使用 pre_comment_user_ip 钩子并判断阿里云提供的 $_SERVER[‘HTTP_X_FORWARDED_FOR’] 存在而且是正确的IP地址就使用这个IP地址,然后把这段代码添加到主题的 functions.php 文件中即可。

function get_user_ip($ip){
if(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'];
return $ip;
}
add_filter('pre_comment_user_ip', 'get_user_ip');
//code from http://timle.cn

以上

如果此方法没有解决你的问题,那你可能需要看看这个:
  WordPress无法正确记录访客评论IP解决方法 点击前往

版权声明:本站所有文章和资源使用CC BY-NC-SA 3.0 CN协议发布,转载应当以相同方式注明并注明文章来自“Timle.CN -> WordPress使用云盾后正确获取评论真实IP的方法”。在页面右边可以分享本文哦!

快来吐槽一下吧!

疑问 难过 胜利 微笑 抠鼻 可爱 抓狂 偷笑 奋斗 衰 撇嘴 色 贼笑 爬虫 鼓掌 发怒 擦汗 握手 酷 玫瑰 哭 呲牙

WordPress使用云盾后正确获取评论真实IP的方法
6 票, 5.00 平均等级 ( 99% 分 )