HttpOnly Cookie 怎么讲

HttpOnly Cookie 怎么讲,第1张

HttpOnly 是加在cookies上的一个标识,用于告诉浏览器不要向客户端脚本(document.cookie或其他)暴露cookie。 HttpOnly 背后的相关议题是:当网站存在 跨站脚本攻击(XSS) 漏洞时,黑客通过执行脚本获得cookie时被阻止,从而在根本上杜绝这种类型的攻击。

当你在cookie上设置 HttpOnly 标识后,浏览器就会知会到这是特殊的cookie,只能由服务器检索到,所有来自客户端脚本的访问都会被禁止。当然也有前提:使用新版的浏览器。

HttpOnly Cookie 最初由 Microsoft’s Internet Explorer 6 SP1引入,至今为止,已是设置会话cookie的最佳实践了。

其语法如下:

在上面的HTTP请求头中, HttpOnly 知会浏览器在保存cookie,但不要向客户端脚本开放访问权限。

另外还有一个安全标识可以强制浏览器发送cookie的时候采用安全通道,比如 HTTPS ,可以防止被监听。尤其是在HTTPS连接被一些工具(比如SSLStrip等)降级到HTTP。

该语法为:

在这个HTTP头信息中, Secure 标识知会浏览器使用安全的加密通道发送cookie。

原文: https://latesthackingnews.com/2017/07/03/what-is-httponly-cookie/

利用HttpResponse的addHeader方法,设置Set-Cookie的值,

cookie字符串的格式:key=valueExpires=datePath=pathDomain=domainSecureHttpOnly

//设置cookie

response.addHeader("Set-Cookie", "uid=112Path=/HttpOnly")

//设置多个cookie

response.addHeader("Set-Cookie", "uid=112Path=/HttpOnly")

response.addHeader("Set-Cookie", "timeout=30Path=/testHttpOnly")

//设置https的cookie

response.addHeader("Set-Cookie", "uid=112Path=/SecureHttpOnly")

在实际使用中,我们可以使FireCookie查看我们设置的Cookie 是否是HttpOnly。

什么是HttpOnly

如果您在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击。

用HTTP-only Cookie保护数据

为了缓解跨站点脚本攻击带来的信息泄露风险,Internet Explorer 6 SP1为Cookie引入了一个新属性。这个属性规定,不许通过脚本访问cookie。使用HTTP-only Cookie后,Web 站点就能排除cookie中的敏感信息被发送给黑客的计算机或者使用脚本的Web站点的可能性。

日常我们开发时,会遇到各种各样的奇奇怪怪的问题(踩坑o(╯□╰)o),这个常见问题系列就是我日常遇到的一些问题的记录文章系列,这里整理汇总后分享给大家,让其还在深坑中的小伙伴有绳索能爬出来。

同时在这里也欢迎大家把自己遇到的问题留言或私信给我,我看看其能否给大家解决。

会话Cookie中缺少HttpOnly属性

Cookie的HttpOnly设定是由微软IE6时实现的,当前已成为标准,这个限定能有效限定Cookie劫持、限定客户端修改携带httpOnly属性的cookie键值对。同时由于它的安全限定较高,有一些业务在增加上该限定后无法有效获取到Cookie,因此在使用时还是需要根据业务场景进行使用。

gin框架下设置cookie的HttpOnly,第七个参数设置为true:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6406807.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-21
下一篇 2023-03-21

发表评论

登录后才能评论

评论列表(0条)

保存