看到日志里面出现错误,大概意思是:调用方法时验证错误。
仔细查看log:发现用户已经登录,但是在后续的操作中,前面登录的信息丢失,验证失败。
和用户沟通,他说他登录后的一些操作,全部弹出警告框,说没有登录。
仔细排查,发现大部分用户正常,只有极个别用户有类似情况。 晕!!!!!!!!
和这个用户多次沟通后了解到:他使用的是google chrome 。让他使用firefox 和 ie8 后一切正常。
这个问题刚开始我认为是“用户登录后的缓存”没有被更新而产生的问题。
既然这个问题是和浏览器相关的,那么直接锁定为浏览器cookie 存储上的问题。因为整个应用的验证是基于cookies的。
呵呵,到底是咋的回事?
1. 早期应用是在 http://www.example.com 域名下运行的。
2. setcookie( key, value, path, "."+HOST_NAME ) => setcookie( key, value, path, ".example.com" )
####".example.com" 域名前面多一个点,意思是整个域+子域
3. 后面 服务器更换,直接使用了 ip地址进行访问。类似于 http://202.15.32.100/index
4. setcookie( key, value, path, "."+HOST_NAME ) => setcookie( key, value, path, ".202.15.32.100" )
很显然: ".202.15.32.100" 这个是多了一个点的IP地址,而不是域名。chrome 和 IE9 下cookie都不会提取,所以验证失败。
分享到:
相关推荐
这篇文章讲述了作者在实习期间遇到的一个奇怪的编程Bug,该Bug仅在每周三出现,导致系统崩溃。这个Bug出现在一个C++编写的服务器程序中,该服务器用于监听医疗设备的串口,将数据存储到SQLServer数据库,并通过CORBA...
在提供的`TestT.java`文件中,很可能是包含了一个测试案例,用来演示如何检测和处理这类诡异的不可见字符。通过分析`TestT.java`的代码,我们可以学习如何在实际项目中避免和解决此类问题。具体代码实现可能包括对...
在Java中,当试图访问一个为null的对象成员时,会抛出NullPointerException。这通常发生在未对对象进行初始化或者对象引用丢失的情况下。为避免此类问题,确保在使用对象之前进行非空检查,并始终在声明后立即初始...
这个问题出现在SQL Server的一个字段`b`中,含有某种不可见的特殊字符,使得程序在尝试构建INSERT语句时无法正确生成字符串,特别是当涉及到某些特定记录时。 在尝试解决这个问题的过程中,开发人员首先尝试通过`...
"诡异心理游戏"的源码使用易语言编写,这为我们提供了一个研究易语言在游戏制作上的实际案例。 首先,我们要了解易语言的基本结构。易语言程序由模块、函数和过程组成。模块是程序的基本单元,包含了程序的各个部分...
当一个事务在执行查询时,另一个事务插入了一些新的记录,这些新记录恰好满足原查询的条件,那么在原事务中再次执行相同查询时,就会看到这些新插入的记录,仿佛是“幻影”一般,因此得名“幻读”。 幻读与另一种...
在ASP(Active Server Pages)开发过程中,我们可能会遇到一个令人困惑的错误:“对象关闭时,不允许操作。” 这个问题通常出现在尝试访问或操作已经关闭的对象,如记录集(Recordset)rs时。本文将深入探讨这个问题的...
首先,我们要明白,此文档并不涉及基础的语法错误或简单的逻辑问题,例如缺少分号、未初始化变量等。我们关注的是那些难以发现、具有代表性的疑难杂症。 一、GetComponent函数的正确使用 在Unity中,GetComponent...
6. **状态管理**:游戏的进行过程中,玩家的进度、错误次数等信息需要被记录和管理。这涉及到了变量的使用、条件判断语句、循环结构,以及可能的数据持久化技术(如JSON文件、数据库存储)。 7. **用户输入处理**:...
百慕大三角,一个神秘而引人入胜的话题,DK出版的英汉对照百科读物《The Bermuda Triangle》揭示了这片海域的诸多未解之谜。阅读这本书后,我对这个区域的好奇心倍增,尤其是关于Flight 19消失的事件,以及天空中...
循环的一个简单例子 10-2. 每个[list]元素带两个参数的for循环 10-3. 文件信息:对包含在变量中的文件列表进行操作 10-4. 在for循环中操作文件 10-5. 在for循环中省略[list] 10-6. 使用命令替换来产生for循环的[list...
循环的一个简单例子 10-2. 每个[list]元素带两个参数的for 循环 10-3. 文件信息:对包含在变量中的文件列表进行操作 10-4. 在for 循环中操作文件 10-5. 在for 循环中省略[list] 10-6. 使用命令替换来产生for 循环的...
调试工作往往需要耐心和冷静,面对复杂而诡异的软件缺陷时,开发者可能需要长时间去理解和解决,正如Jon Dickinson所描述的那样,有时为了弄清楚一个真正奇怪的缺陷,人们甚至会尝试到令人难以置信的地步。而本书...
项目的搭建过程就是老版本phone搭建过程,我已经不想记录了,只保留这一个这种架构作为历史纪念。 项目背景 项目是2016年初,我在南京润和接到外包一个混合app项目,只给我纯前端页面代码,也就是一个www文件夹,...
这款游戏的“r5”版本通常指的是开发过程中的一个修订版或者优化版,意味着相较于之前的版本,它可能包含了更多的修复、改进或新增内容,以提供更好的游戏体验。 首先,我们要了解《Catherine》的基本概念。这是一...
"nginx-service.exe"可能就是这样的一个可执行文件,双击运行它,可以将Nginx设置为系统服务,使得服务能够随系统启动而启动。在命令行中,我们可以使用`nginx-service install`命令来安装服务。 2. **配置Nginx**...
需要注意的是,`bit`类型的字段在更新时可能会出现一个看似“诡异”的现象:当你执行更新操作,如将`bit`字段设为2,虽然更新语句成功执行,但在查询时依然显示为1。这是因为非0数值在插入或更新`bit`字段时会被隐式...
<br>清爽精简版: <br>是绿色版,只基本一个Weather插件,没有其它插件和皮肤,只保留最基本的浏览功能,使用MT2简洁界面布局。适合喜欢清爽简洁的用户。 <br> <br>绿色完整版:使用了推荐的插件(没有...