Bob*_*ose 32 javascript security cookies get
我试图设置一个cookie document.cookie = "tagname = test; secure"但这没有设置安全标志.我说错了吗?你能从服务器响应中设置它吗?我也想知道,因为我很难找到一个使用它的例子,它可能不常用?
谢谢你!
Jac*_*cob 49
TL:DR
document.cookie = "tagname = test;secure";
Run Code Online (Sandbox Code Playgroud)
您必须使用HTTPS来设置安全属性
正常(或正式,可能)名称是属性.由于旗帜指的是其他东西(见下文).
更多信息
安全 - Cookie将以安全通道发送 - HTTPS
HttpOnly-不允许本地脚本读取cookie.
域 - 仔细检查域设置.
路径 - 仔细检查路径设置.
过期 - 确定用户代理如何解析或如何选择到期时间.
更多细节和实际用法.检查Testing_for_cookies_attributes_(OTG-SESS-002)
Cookie标志是前缀.目前,这些在RFC草案中被描述为RFC6265的更新
这些标志与'secure'属性一起使用.
__Secure-
Run Code Online (Sandbox Code Playgroud)
短划线是前缀的一部分.该标志告诉浏览器,cookie应仅包含在"https"中.
__Host-
Run Code Online (Sandbox Code Playgroud)
带有此标志的cookie 1)必须不具有"domain"属性,它将仅发送给设置它的主机.2)必须有一个'path'属性,设置为'/',因为它将在每次来自主机的任务中发送给主机.
我希望我没有任何误解的是,那些"正式文本"是稍微对我来说很难,更正或修改它,使之更具可读性将不胜感激.
这个cookie包很容易使用@ https://www.npmjs.com/package/js-cookie
//to set cookie use
Cookies.set('name', 'value', { expires: 7, path: '' });
//to read the cookie, use
Cookies.get('name'); // => 'value'
//to delete cookie this
Cookies.remove('name')
//to set secure cookie this
Cookies.set('name', 'value', { secure: true });
Run Code Online (Sandbox Code Playgroud)