首页 文章

出于安全考虑,我应该了解哪些cookie域和范围?

提问于
浏览
3

我可以在哪里学习(或者是什么)关于cookie的范围,以避免对经过身份验证的用户进行CSRF和XSS攻击?

例如,如果我有一个多租户系统,单个用户可以访问一个或多个站点,那么更安全:

  • company1.hoster.com

  • company2.hoster.com

  • company3.hoster.com

要么

  • www.hoster.com/company1

  • www.hoster.com/company2

  • www.hoster.com/company3

如果我在“hoster.com”设置cookie会怎样?

2 回答

  • 3

    您可以分别限制domainpath中cookie的有效范围 . 因此,您可以在两种场景中设置一个仅对该特定域/路径组合有效的cookie:

    • 仅为 //company1.example.com/ 设置cookie:
    Set-Cookie: name=value; Path=/
    

    省略Domain属性使cookie仅对其设置的域有效 . 并且使用 Path=/ 时,cookie对于具有前缀 / 的任何路径都有效 .

    • 仅为 //example.com/company1/ 设置cookie:
    Set-Cookie: name=value; Path=/company1/
    

    与上面的例子相同的解释 . 唯一的限制是你需要使用 /company1/ 而不是 /company1 ,因为 Path=/company1 将等同于 Path=/ ,因此会使cookie对 /company2/company3 也有效 .

    为了避免cookie可以通过JavaScript读取(减少使用XSS访问的资产),请设置HttpOnly attribute .

  • 0

    Open Web application security project发布了许多有关安全Web应用程序开发的有 Value 信息 .

    Cookie具有范围和路径属性,您通常不希望为“/”或通配符主机发出cookie * .hoster.com都是不明智的 .

    它并不像这一个决定那么简单,你想到设计的安全性是好的,但在开发的每个阶段,安全都是一个过程 .

相关问题