如何使用 document.cookie 创建安全/httpOnly cookie?

问题描述

如果我创建函数

function setCookie(name,value)
    {
      // this works:
      // document.cookie=name + "=" + escape(value) + "; path=/;";
      // this does not:
      // document.cookie=name + "=" + escape(value) + "; path=/; secure; HttpOnly; SameSite=strict";
    }
setCookie('my_cookie','some_random_value');

我不是 100% 知道为什么第二个选项不起作用。任何人有什么想法吗?

解决方法

MDN

JavaScript Document.cookie API 无法访问具有 HttpOnly 属性的 cookie;它只发送到服务器。例如,保留服务器端会话的 cookie 不需要对 JavaScript 可用,并且应该具有 HttpOnly 属性。这种预防措施有助于缓解跨站脚本 (XSS) 攻击。

你不能用 document.cookie 设置它,因为标志的全部点是防止它被设置(或读取)document.cookie