|
最近做的一个项目,验证码记录到数据库中,记录时保存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:各版本都看了
|
|