相关疑难解决方法(0)

如何使用JavaScript阅读安全cookie

有没有办法用javascript读取安全的cookie?我尝试使用document.cookie做到这一点,据我所知,http://securitymusings.com/article/909/secure-cookies-the-httponly-flag我无法通过这种方式访问​​安全cookie.

任何人都可以给我一个解决方法吗?

javascript security cookies

76
推荐指数
3
解决办法
10万
查看次数

无法从JS中的document.cookie访问cookie,但浏览器显示cookie存在

我无法从JavaScript访问任何cookie.我需要读取一些值并通过JSON发送给我的自定义检查.

我试图从JS访问cookie,如下所述:

正如您在代码中看到的那样,它被视为下一个晶体:

var c_value = document.cookie;
Run Code Online (Sandbox Code Playgroud)

当我尝试document.cookie从Chrome的Web调试器访问该值时,我只看到Watch表达式中的空字符串:

所以我无法读取我需要的cookie值.

我已经检查了cookie名称,我发送该名称以获得相关值是正确的.此外,我正在使用W3Schools源代码获取cookie,如果您感兴趣(但从第二个链接,技术类似).

我该如何解决我的问题?

谢谢!

javascript cookies document get key-value

68
推荐指数
3
解决办法
5万
查看次数

Javascript document.cookie总是空字符串

我有客户端javascript设置cookie这个真正奇怪的问题.我正在开发一个小页面的演示,目前使用cookie来存储一些'偏好'.请注意,我不能使用服务器端语言进行此演示或任何第三方jQuery插件.

所以我写了一个javascript对象来设置一个cookie:

var cookie = {
  set: function (name,value,exdays) {

    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var value = escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=name + "=" + value;
    console.log(document.cookie);
  }
}

cookie.set('foo','bar',2);
console.log(document.cookie);
Run Code Online (Sandbox Code Playgroud)

它只返回一个空字符串.我已经进入Chrome控制台,看看我是否可以通过直接修改来实现document.cookie

> document.cookie = "foo=bar";
"foo=bar"
> document.cookie
""
Run Code Online (Sandbox Code Playgroud)

你如何通过客户端javascript设置cookie?

编辑:我未处于隐身模式且已启用Cookie.

javascript cookies

34
推荐指数
2
解决办法
5万
查看次数

Chrome 扩展程序不发送 SameSite=Lax cookie

我在通过弹出脚本中的 chrome 扩展程序处理 cookie 时遇到了一些麻烦。

popup.js 内容:

document.addEventListener('DOMContentLoaded', () => {
    function cookieinfo() {
        chrome.cookies.getAll({url: 'http://localhost:8080'}, function(cookie) {
            console.log('Found cookie: ', cookie)
            if (cookie == null)
                return;

            fetch('http://localhost:8080', {credentials: 'include'}).then((response) => {
                // do some stuff
                return response;
            });
        });
    }
    window.onload=cookieinfo;
}, false);
Run Code Online (Sandbox Code Playgroud)

我执行的步骤:

  1. 在本地主机上登录我的应用程序(所以我得到了 cookie)
  2. 打开弹窗(所以 popup.js 被执行)
  3. 我在控制台日志中看到 chrome 找到了必要的 cookie
  4. 服务器说传入请求有空 cookie
  5. 我刷新本地主机应用程序的页面
  6. 我现在登出

也许有人知道我做错了什么?

编辑:

看来原因是我的cookie有参数HttpOnly=trueSameSite=Lax相关链接)。我可以在服务器日志中看到另一个 cookie。但是由于这个线程,如果credentials参数设置为include,则所有 cookie 都将被发送,即使是 httpOnly cookie。由于这个答案,我也尝试将它发送到 …

javascript cookies httponly google-chrome-extension samesite

2
推荐指数
1
解决办法
1988
查看次数