有没有办法用javascript读取安全的cookie?我尝试使用document.cookie做到这一点,据我所知,http://securitymusings.com/article/909/secure-cookies-the-httponly-flag我无法通过这种方式访问安全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设置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.
我在通过弹出脚本中的 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)
我执行的步骤:
也许有人知道我做错了什么?
编辑:
看来原因是我的cookie有参数HttpOnly=true和SameSite=Lax(相关链接)。我可以在服务器日志中看到另一个 cookie。但是由于这个线程,如果credentials参数设置为include,则所有 cookie 都将被发送,即使是 httpOnly cookie。由于这个答案,我也尝试将它发送到 …
javascript cookies httponly google-chrome-extension samesite