编程语言
首页 > 编程语言> > javascript-为了安全起见,我应该了解cookie域和范围的哪些信息?

javascript-为了安全起见,我应该了解cookie域和范围的哪些信息?

作者:互联网

在哪里可以了解(或了解)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,会发生什么?

解决方法:

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

>要仅为//company1.example.com/设置Cookie,请执行以下操作:

Set-Cookie: name=value; Path=/

省略Domain属性会使cookie仅对设置了该cookie的域有效.使用Path = /时,该cookie对前缀为/的任何路径均有效.
>要仅为//example.com/company1/设置Cookie,请执行以下操作:

Set-Cookie: name=value; Path=/company1/

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

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

标签:cookies,security,multi-tenant,javascript
来源: https://codeday.me/bug/20191208/2092035.html