记录一个诡异而简单的错误

看到日志里面出现错误,大概意思是:调用方法时验证错误。

 

仔细查看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都不会提取,所以验证失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值