【问题解决】Safari不能保存session的处理方法
来源:互联网 发布:mac flash插件错误 编辑:程序博客网 时间:2024/05/01 02:26
我们的项目是一个单页应用,前端去访问服务器获取JSON数据,然后填充页面进行渲染,在Webkit上运行正常,但在Safari上就出现了问题,在Safari上登录的时候一直提示验证码错误,并且这是一个很麻烦的问题,因为只有将应用部署到远程服务器上才出现这个问题,本地测试是正常的。
经过仔细的排查错误后,检测出是因为我们获取验证码时发起了一次Ajax连接,然后验证码存储在了session里,接着验证时又发起了一次Ajax连接,因为Safari不保存cookie,所以有两个session,这样自然验证码就是错的了。
问题找到了,就开始着手找解决办法,最开始找到了一个,就是设置Safari可以保存cookie,我试了一下后,发现的确可以登录,证明问题找对了,但很明显,这个方法不合适,因为我们不能要求每一个用户都去设置他们的浏览器。于是开始找其他办法,最终在stackoverflow上找到了一个,
将服务器的IP地址改为域名
简单得难以置信,具体地解释可以看这里
通过这个方法我们总算解决了这个问题,如果这样都没有解决,可以尝试在第一次获取session的时候返回session的ID,第二次访问时把ID传过去,但这样就有点不安全了。希望能对你有所帮助。
1 0
- 【问题解决】Safari不能保存session的处理方法
- Safari不能保存session的处理方法
- safari不能记录cookies问题的处理方法
- 在ashx一般处理程序文件中不能使用session和request的问题解决办法
- PHP开发中session无法获取和保存问题解决方法!
- safari 浏览器placholder不居中问题解决方法
- 使用Foxmarks,不能保存书签的处理
- 文件保存很大的问题解决方法
- 跨域session值不能保存
- 使用数据库保存session的方法
- 使用数据库保存session的方法
- Session的保存、删除及更新方法
- 使用数据库保存session的方法
- 使用数据库保存session的方法
- Windows7不能开机的问题解决方法
- FLEX3类不能嵌套的问题解决方法
- android 模拟器不能上网的问题解决方法。
- MarkdownPad2 不能渲染的问题解决方法
- 统计一个句子中的单词个数
- android TextView控件
- [BZOJ 3675][Apio2014]序列分割
- GitHub Top 100 的 Android 开源库简介
- Android Volley完全解析(二),使用Volley加载网络图片
- 【问题解决】Safari不能保存session的处理方法
- Android Volley完全解析(三),定制自己的Request
- 透传消息和非透传消息
- POJ 2342 Anniversary party (树形dp入门)
- C++类复制构造函数参数为nonconst和const的重载
- android 获取本地图片路径
- 交大1043 day of week
- php生成随机颜色的方法
- [斜率优化小结]