TLD*_*LDR 5 javascript security cookies multi-tenant
我可以在哪里了解(或了解什么)cookie 的范围,以避免对经过身份验证的用户进行 CSRF 和 XSS 攻击?
例如,如果我有一个多租户系统,其中单个用户可以访问一个或多个站点,那么更安全的是:
或者
如果我在“hoster.com”设置 cookie 会发生什么?
您可以分别限制cookie在域和路径中的有效范围。因此,您可以在这两种情况下设置一个仅对特定域/路径组合有效的 cookie:
仅设置 cookie //company1.example.com/:
Set-Cookie: name=value; Path=/
Run Code Online (Sandbox Code Playgroud)
省略Domain属性会使 cookie 仅对它所设置的域有效。并且Path=/cookie 对具有前缀 的任何路径都有效/。
仅设置 cookie //example.com/company1/:
Set-Cookie: name=value; Path=/company1/
Run Code Online (Sandbox Code Playgroud)
与上面示例的解释相同。唯一的限制是您需要使用等效于 的as/company1/来代替as ,从而使 cookie 对于和也有效。/company1Path=/company1Path=//company2/company3
为了避免通过 JavaScript 读取 cookie(减少使用 XSS 访问的资源),请设置HttpOnly属性。
开放Web 应用程序安全项目发布了大量有关安全 Web 应用程序开发的有价值的信息。
Cookie 具有范围和路径属性,您通常不希望为“/”或通配符主机 *.hoster.com 发出 Cookie,这都是不明智的。
这并不像这个决定那么简单,您在设计中考虑到安全性是件好事,但安全性是一个过程,存在于开发的每个阶段。