javascript - Chrome 和 IE 不适用于 SameSite 属性?
问题描述
我尝试学习如何设置 cookie,但是当我尝试使用 chrome/IE 打开我的页面时,就像没有 cookie 一样。但在 Firefox 中一切正常!我试图删除“sameSite 属性等安全”,并且适用于所有导航器,但我在 Firefox 中有一条错误消息,例如:“你需要提供 sameSite 属性等。”有人可以帮助我吗?这是我的代码
function creerCookie(result){
document.cookie = 'Cookie='+result+ '; SameSite:"Lax";secure '
console.log(document.cookie)
}
function getCookie (name){
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
let body = document.body
let kiki = getCookie('Cookie')
console.log("voila :"+kiki)
if (kiki==="test1"){
body.style.background = "red"
}else if (kiki === "test2"){
body.style.background = "green"
}
解决方案
问题在于Secure
属性。从这个文档中,我们可以知道
带有该
Secure
属性的 cookie 仅通过 HTTPS 协议的加密请求发送到服务器,从不使用不安全的 HTTP。不安全的站点(
http:
在 URL 中带有)无法使用该Secure
属性设置 cookie。
您可以通过托管您的测试页面,https
然后代码将在 IE 和 Chrome 中运行。
推荐阅读
- python - CSV 中的行总和
- django - 在 Django FormView 中获取当前用户
- azure-devops - Terraform 在配置之前拆分输入
- haskell - 异常类型中的隐式调用堆栈
- python - 有没有办法使用 FastAPI 中的装饰器检查请求标头?
- azure-devops - 在一个管道中构建项目并创建 NuGet 包
- javascript - 有条件地在无服务器框架中设置环境变量
- node.js - 弹性beantalk上的Nodejs API - 它会使用多个vCpus吗?
- python - 如何为交易编号格式创建 Django 模型字段
- javascript - 获取scss文件中className的内容