zoukankan      html  css  js  c++  java
  • php一个诡异而简单的错误

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

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

    原文来自站长网http://www.software8.co/wzjs/PHPshili/2648.html

  • 相关阅读:
    平均值的最值化
    GCJ 2008 R3 C 二分图匹配
    BZOJ 1013 高斯消元
    NOIP2015 d2T3 二分+树上前缀和
    9.7集训 总结
    BZOJ 1026
    BZOJ 3223
    NOIP前夕:codevs,关路灯
    NOIP前夕:codevs,解药还是毒药
    NOIP前夕:codevs,修剪花卉
  • 原文地址:https://www.cnblogs.com/wwwroot/p/2862533.html
Copyright © 2011-2022 走看看