获取真实IP地址问题

derek 2017-11-08 13:32:46

然之在helper.class.php文件中有一个获取客户端真实IP的函数,且在签到等地方引用了这个公共函数。但是这个函数存在一个缺陷。源码如下图:

这里第二个if是在存在代理IP时适用的,如果存在X_FORWARDED_FOR,则其记录了代理过程中的所有路由ip,但是这里可能不止一个代理跳转,而且然之这个字段是有长度限制的。因此,在比如用微信内置浏览器查看网页时(必定会存在多次代理),这里会报ip长度过大的错误。我想这里程序员可能想得到的是第一个ip,也就是真实的初始ip,因此需要考虑是否有多个ip代理过程。函数修改方法如下:

回帖列表
shiyangyang 2017-11-08 16:39:19
谢谢反馈。
1/ 1
鲁ICP备18054969号
ZSITE8.6