为了账号安全,请及时绑定邮箱和手机立即绑定

PHP AJAX 在某些目录中复制 cookie

PHP AJAX 在某些目录中复制 cookie

PHP
慕侠2389804 2023-04-02 15:03:32
我有以下文件文件夹结构:public_html >> index.php、post.php 等public_html >> 包括 >> common.php、security.php、ajaxfile.php 等。public_html >> ajaxlibs >> chk_login.php 等下面的文件有很多功能,包括一个用于登录的功能,几乎所有地方都会调用该文件:安全.php: <?php//checking user credentials goes here ......//...........    function logIn($newToken,$uID)    {            $cookieExpiry= time()+36000;            //set user login (ul) cookie:            setcookie('token',$newToken,$cookieExpiry,'/','',FALSE,true);            setcookie('uid',$uID,$cookieExpiry,'/','',FALSE,true);            return 'success';    }    //if user credentials are valid:    logIn('token_hashed_via_another_func', $uID);?>cookie 在登录时完美设置,如下所示:Cookie 名称:token,值:'token_hashed_via_another_func',路径:'/'但是当我调用与 security.php 位于同一目录的 AJAX 文件时,例如 include/ajaxfile.php,我得到一个具有不同值和路径的新 cookie,如下所示:Cookie 名称:token,值:'different_value_with_unkown_hashing_resource',路径:'/include/'因此,我得到了一个名称相同但值和路径不同的新 cookie,并且原始 cookie 没有被删除。令人惊讶的是,如果我将同一个 AJAX 文件移动到另一个文件夹而不是具有 security.php 的文件夹,我不会遇到同样的问题。我几乎可以肯定它在某种程度上与 AJAX 有关,因为当我需要来自同一目录(即包含)的文件时,问题不会发生。这是我如何调用 AJAX 文件的示例:$.ajax({      type: "GET",      url: "include/ajaxfile.php",      dataType: "text",      async: true,      cache: false,      timeout: 40000,      success: function(response)      {          //do something or even nothing      },      error: function()      {         alert("error!");      }    });
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

经过长时间的尝试,原来问题出在浏览器缓存上。我正在使用 Chrome,在删除所有存储的缓存和 cookie 后,问题不再发生——至少到目前为止是这样。感谢上帝!



查看完整回答
反对 回复 2023-04-02
  • 1 回答
  • 0 关注
  • 54 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信