zoukankan      html  css  js  c++  java
  • ie下php session不能用(域名的合法定义)

    今天遇到了一个奇怪的问题。应用程序的后台ie下居然无法登陆,老是提示验证码不正确,明明输入是正确的。于是抓包、测试、调试,最终发现罪魁祸首phpsessionid在ie下没有办法写入。研究了一下,发现所有的cookie都没有办法写入,这就纳闷了,明明应用程序跑得好好的,怎么可能后台会这样出现这样的情况。google半天,各种办法(有说服务器session写不进去要改权限的,有说要加p3p头部的,也有说session_start放的位置不对的,还有说页面结束时要先session_write_close一下的),都试不成功。最后自己干脆写一个简单的文件,应用上传一个,后台上传一个对比一下结果。

    <?php
    session_start();
    var_dump($_SESSION);
    $_SESSION['iesession'] = 'ie';
    echo session_id();
    ?>
    

    结果放在应用程序目录下的可以,放在后台的不行。思前想后,觉得只有域名不一样,其他的都是一样的环境。二话不说,后台改个域名看看,奇迹出现了,居然可以了。

    查找原因,一个域名一个域名试,host一个一个绑定。最终原来是域名定义惹的祸。正确的域名应该是由26个字母、0-9 10个数字以及-,. 这两个符号构成,而我的后台域名

    取了一个不标准的名字admin_control.frontcms.com,没错多了一个_。  对于不正确的域名ie直接不给写cookie。

  • 相关阅读:
    .NET Core MVC下的TagHelper
    测试.NET core MiddleWare 运行逻辑
    中台
    VSCode 完美整合前后端框架(angular2+.NET core)
    三分钟热度并非贬义
    【算法】莫队算法粗略讲解
    【题解】洋溢着希望
    【三角学】三角恒等变换公式推导
    【题解】方差
    【数据结构】FHQ Treap 详解
  • 原文地址:https://www.cnblogs.com/mengzhongshi/p/3459821.html
Copyright © 2011-2022 走看看