WordPress统计插件获取用户真实IP

前景摘要:从上了GRE之后多了一种访问博客服务器的方式:Client->(Direct)->Server->(GRE)->Client,GRE选择性路由中国大陆ipv4(说明白点,回程经过GRE),访问速度应该大概也许会比过一遍CloudFlare快,不过没想到获取用户真实IP地址倒成了一个问题

环境:Wordpress 5.6.1,WP Statistics 13.0.6,PHP 7.4.12

由于不通过CDN没有HTTP_X_FORWARDED_FOR头,在尝试了2个小时之后,试图通过nginx添加header解决问题的方案彻底失败,于是决定直接修改插件源代码,结果发现就一行代码的事情。。。

具体操作:文件:wp-statistics/includes/class-wp-statistics-ip.php,第79行,将原来的$ip = self::$default_ip;修改为$ip = $_SERVER['REMOTE_ADDR'];

这么做的作用就是,最后若通过插件设置中配置的项获取不到有效IP,将其设为$_SERVER['REMOTE_ADDR'],虽然并不保险,但足以应对99%的情况。(想保险就再加一次IP有效性验证,我只是懒得加了

用一张图描述我现在的心情吧:

Views: 114

发布者:Tabing010102

???

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据