后台获取WP访问的真实IP

首页 论坛 提一个问题 后台获取WP访问的真实IP


组织好语言,说清楚情况,你我都方便

该话题包含 2 个回复,有 2 个参与人,并且由  Thomas4 月, 2 周 前 最后一次更新。

  • 作者
    帖子
  • #788 回复

    Thomas
    参与者

    你好,看了你知乎某回答后来这里想提一个问题。我自己的WP后台查看日志文件(wwwlogs/下日志),显示的IP地址很多都是DNS服务器的地址而非真实IP,请问如何才能获取访客真实的IP地址呢?
    具体地,您的站点的默认日志文件应该是/home/wwwlogs/wpshushu.com.log
    我能够确定我得到的肯定不是真实IP,自己开代理访问过了。

  • #790 回复

    wp叔叔
    管理员

    Thomas,

    这其实是一个HTTP问题,代理访问,真实的client IP在特殊的HTTP头里, 你要配置apache写log的时候,记下这些头。

    https://campus.barracuda.com/product/webapplicationfirewall/doc/4259905/logging-actual-client-ip-address-on-the-apache-server/

    你可以可以搜 apache / nginx log real client IP。

    在PHP也会这样用:https://www.virendrachandak.com/techtalk/getting-real-client-ip-address-in-php-2/

    但其实这个方法并不可靠,因为不是所有中间代理服务器都发送这些头。不少代理服务器刻意隐藏客户源信息,所以没有任何HTTP头可获得真实IP。

    这时候,你可以用插件如 https://wordpress.org/plugins/insert-headers-and-footers/ 在页面尾部强制插入一个img或者script标签,引用到一个到网站域名(非代理服务重写过的域名)的资源,如https://www.mydomain.com/iptracker,这可以是一个空白页面,这个请求就不会通过代理,而会直接访问你的网站,记录下的IP是真实IP。

    如果客户通过底层协议改动的IP,如未批嗯,那就比较难,不是没有方法,但需要第三方服务来判断是否识别到的IP属于某未批嗯厂商IP,结果往往是不准确的。

  • #848 回复

    Thomas
    参与者

    好的,感谢。咳,弧长了些。

回复于:后台获取WP访问的真实IP
您的信息: