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 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流
  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型