dongqing483174 2019-05-17 04:40
浏览 76
已采纳

PHP总是返回相同的IP

I have been using the following PHP code to record IPs:

getenv('HTTP_CLIENT_IP') ?: getenv('HTTP_X_FORWARDED_FOR') ?: getenv('REMOTE_ADDR')

It had been working fine. But starting this May, I noticed that all recorded IPs are 74.220.219.56. I also tested it by using VPN and changing country, and the problem persists. Now I have to use only getenv('REMOTE_ADDR') in order to get the correct IP.

Could that be caused by my hosting company's settings?

  • 写回答

2条回答 默认 最新

  • drwghu6386 2019-05-17 05:02
    关注

    HTTP_CLIENT_IP and HTTP_X_FORWARDED_FOR are both HTTP headers that are non-standard and have to be set by a proxy server. If your hosting company has a proxy sitting in front of your PHP application, they need to enable these headers for this to work.

    Furthermore, you should only ever read either of these headers for the IP if you are absolutely sure that your hosting provider uses them. If you don't know sure, this could be a security issue.

    So in short, whether either of those headers work is entirely dependent on your hoster, and you should use neither of these headers until you find out if your hoster supports them.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 平板录音机录音问题解决
  • ¥15 请问维特智能的安卓APP在手机上存储传感器数据后,如何找到它的存储路径?
  • ¥15 (SQL语句|查询结果翻了4倍)
  • ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
  • ¥50 .net core 并发调用接口问题
  • ¥15 网上各种方法试过了,pip还是无法使用
  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 Hadoop集群部署启动Hadoop时碰到问题
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启