searchsulin 发表于 2015-7-9 15:40:07

关于CI的input->ip_address()方法获取IP不一致的疑问

最近做的一个项目,验证码记录到数据库中,记录时保存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:各版本都看了
页: [1]
查看完整版本: 关于CI的input->ip_address()方法获取IP不一致的疑问