0

我熟悉 cakePHP cookie 和会话设置,但我不确定为什么(通过 Burp 代理套件进行分析时,我发现 2 个单独的 Set-Cookie 响应:

Set-Cookie: DropZone=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/
Set-Cookie: DropZone=spackr9fhhgod0lqk9glh3ch44; expires=Tue, 28-Jan-2014 23:01:37 GMT;path=/; secure; HttpOnly

我花时间设置 HTTPOnly 和 Secure 标志。我不明白的是这里的第一行:

Set-Cookie: DropZone=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/

这个 Set-Cookie Header 可能来自哪里?更重要的是,这不仅仅是信息安全威胁吗?

我显然在我的 app/Config/core.php 文件中设置了会话设置:

Configure::write('Session', array(
    'defaults' => 'php',
    'cookie' => 'DropZone',
    'timeout' => 15,
    'ini' => array(
        'session.cookie_secure' => true,
        'session.cookie_httponly' => true)
));
4

1 回答 1

1

我试图重现您的问题,我看到两个cookie,DropZone实际上是Users[rememberMe]配置的默认 cookie 名称加上插件使用的另一个 cookie 。

http://book.cakephp.org/2.0/en/development/sessions.html#built-in-session-handlers-configuration

我的设置正确。还让我解释一下您的 Cookie 字符串的含义:

Set-Cookie: DropZone=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/

这表示您的名为 DropZone 的 cookie 已被删除。下一行使用给定的设置创建它:

Set-Cookie: DropZone=spackr9fhhgod0lqk9glh3ch44; expires=Tue, 28-Jan-2014 23:01:37 GMT;path=/; secure; HttpOnly

我认为这里的行为是正确的,它会删除 cookie 并更新它。

只要您没有将组件设置中的名称也更改为 DropZone,这个 cookie 肯定不是来自用户插件。所以你应该看到两个cookie。


这是相关的 Github 问题:https ://github.com/CakeDC/users/issues/154

于 2014-02-20T01:38:08.440 回答