用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2310|回复: 0
收起左侧

[版本 3.x] 关于CI的input->ip_address()方法获取IP不一致的疑问

[复制链接]
发表于 2015-7-9 15:40:07 | 显示全部楼层 |阅读模式
最近做的一个项目,验证码记录到数据库中,记录时保存IP和UA,验证时再检查,PC端一直正常,后来用户报手机端验证码错误,后检查发现,在使用QQ浏览器或微信浏览器时,生成验证码图片的时候,使用$this->input->ip_address()获取的是真实IP,在提交后服务端验证时,使用$this->input->ip_address()获取到的是101.226.125.118 这个IP,导致验证失败。查看$this->input->ip_address()实现方法,在core/Input.php 里仍是用remote_addr来获取,除非在config设置proxy_ips,可我并不能了解到客户是否使用了代理,而且奇怪的是,同样的方法,为什么在生成验证码图片时记录的是真实的,在验证时却是另一个IP? 求破
PS:各版本都看了

本版积分规则