【问题标题】:php session is creating two (unwanted) cookies for one variablephp 会话正在为一个变量创建两个(不需要的)cookie
【发布时间】:2014-03-29 21:47:59
【问题描述】:

我无法在 Safari 中重现这一点,但在 Chrome 和 Firefox 中,用户第一次登录(退出浏览器或从新位置访问后)会创建两个 cookie,一个用于 "www.example .com" 和一个 "example.com"。效果是,一旦我登录并在主页上,当我点击第二个登录页面时,我会自动注销。当我再次登录时,第二次,"www.example.com" 只有一个 cookie,一切正常;我不是随机注销的。这就是我创建会话的方式:

session_regenerate_id(true); // destroying the old session id and creating a new one
$_SESSION['id'] =  $login;
setcookie("id", $login, strtotime( '+30 days' ), "/", "", "", TRUE);

我在每一页的顶部都有session_start();。 $login 变量是用户名/密码检查通过后从数据库中提取的用户 ID,它正在回显并正确显示在 cookie 中。

我不明白,因为它只发生在第一次,而且到目前为止只在 Firefox 和 Chrome 中发生。它不会在任何浏览器中本地发生,只会在这两个浏览器的实时服务器上发生。

【问题讨论】:

    标签: session cookies


    【解决方案1】:

    为子域 .example.com

    设置 cookie

    setcookie("id", $login, strtotime( '+30 days' ), "/", ".example.com", "", 真)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 2017-08-20
      • 1970-01-01
      • 2012-02-28
      • 2012-10-29
      相关资源
      最近更新 更多