谁有经验/建议设置cookie路径和域,在Rails 6应用程序的安全加固?
Rails文档显示了路径和域的设置,但在实践中我不清楚在哪里做这些,或者将它们设置为什么(我想域是显而易见的)。
默认cookie路径为"/"
。Owasp.org描述了这个漏洞:
Path属性在设置属性的作用域时起主要作用cookie与域名相结合。除了域之外,还有可以指定cookie有效的URL路径。如果是域和路径匹配,那么cookie就会在请求中发送。就像对于domain属性,如果path属性设置得太松散,然后,它可能使应用程序容易受到其他人的攻击同一服务器上的应用程序。
不指定cookie的域属性更安全。没有域属性的cookie只会被发送到原始主机(例如example.com)。另一方面,具有domain=example.com的cookie将被发送到example.com及其子域(sub.example.com, www.example.com等)。也就是说,如果不指定域属性,则发送cookie的范围会更小。
可以指定cookie的path属性,但是没有太大的安全效果。例如,带有path=/mypage的cookie不会被发送到https://example.com/about,但是如果您使用XMLHttpRequest从该页向https://example.com/mypage发送请求,将发生以下情况:带有path=/mypage的cookie将被发送给请求。即使cookie本身没有因为httponly属性而被窃取,来自https://example.com/mypage的响应也会被攻击者获取。因此,您的个人信息将被窃取。
综上所述,不向cookie中添加domain属性更安全,而添加path属性虽然可以,但安全性效果不大。