【问题标题】:Setting cookie path and domain (Rails 6)设置 cookie 路径和域 (Rails 6)
【发布时间】:2021-08-12 11:43:23
【问题描述】:

是否有人在设置 cookie 路径和域以加强 Rails 6 应用程序的安全性方面有经验/建议?

Rails docs 显示设置路径和域,但在实践中我不清楚在哪里执行此操作,或者将它们设置为什么(我想域很明显)。

默认情况下,cookie 路径设置为"/"owasp.org 描述了这个漏洞:

Path 属性在设置 cookie 与域一起使用。除了域名, 可以指定 cookie 有效的 URL 路径。如果域 和路径匹配,然后cookie将在请求中发送。正如 与域属性,如果路径属性设置太松, 那么它可能会使应用程序容易受到其他人的攻击 同一服务器上的应用程序。

【问题讨论】:

    标签: ruby-on-rails security cookies


    【解决方案1】:

    不指定 cookie 的域属性更安全。没有域属性的 cookie 只会发送到原始主机(例如 example.com)。另一方面,带有 domain=example.com 的 cookie 将被发送到 example.com 及其子域(sub.example.com、www.example.com 等)。也就是说,如果不指定domain属性,则发送cookie的范围更窄。

    可以指定cookie的路径属性,但没有太大的安全作用。比如一个path=/mypage的cookie不会发送到https://example.com/about,但是如果你从这个页面用XMLHttpRequest向https://example.com/mypage发送请求,就会出现下面的path=/mypage的cookie会被发送到请求。即使cookie本身由于httponly属性没有被窃取,来自https://example.com/mypage的响应也会被攻击者检索到。因此,您的个人信息将被窃取。

    总之,cookie不加domain属性比较安全,path属性虽然可以加,但安全作用不大。

    【讨论】:

    • 谢谢。您是否会说 owasp.org 关于该漏洞的措辞有点误导/夸大其词?
    • 是的,我认为 owasp.org 的措辞具有误导性。
    猜你喜欢
    • 2016-04-28
    • 1970-01-01
    • 2014-02-15
    • 2012-03-03
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2021-10-31
    • 2023-04-01
    相关资源
    最近更新 更多