我喜欢你吃自己的狗粮
现代浏览器(如 Chrome 浏览器)在 cookie 安全设置方面越来越挑剔,但没有提及任何特定浏览器。
SameSite Cookie 设置就是一个例子。例如,如果 Chrome 浏览器中没有该设置,就会使用其默认方法SameSite=Lax。
但如果您不希望这样,该怎么办呢?答案是更改应用程序的代码,以反映您想要使用的设置。但如果您无法轻松做到这一点,会发生什么情况呢?这可能是一个遗留应用程序。
答案是使用 EdgeADC flightPATH 内容切换功能。
臭名昭著的 WordPress WooCommerce 在 Iframe 中运行问题
我们使用的 WordPress 应用程序在 Iframe 中运行时遇到了一个问题。(不要问为什么)。
应用程序使用的会话 cookie 未设置 SameSite 设置。
应用程序在 Docker 容器中提供的默认 WordPress 系统内运行。
我们研究了几种方法来解决这个问题,但我们的更改并不能在所有 cookie 上正常工作,因此我们决定尝试使用 flightPATH 来解决这个问题。
所以,我们就这么做了。
我们创建了一条 flightPATH 规则,将 SameSite=none 添加到三个违规 cookie 中,如下所示。
我们要创建的第一条 flightPATH 规则是
接下来,我们将创建第二个。
最后,我们创建最后一个。如您所见,这一项的定义略有不同。我们添加了一个通配符 (*),因为我们不知道这个值是什么,WordPress/WooCommerce 会随机分配一个值。
此时,您一定会对自己说:”嘿!使用通配符后,这就不安全了!”。我们知道网站的安全性稍差,但是:
- 全部使用 HTTPS 运行
- 我们运行应用程序防火墙
- 由于它是一个容器化操作系统,关键文件不可变,因此它的性能得到了加固
如果您需要了解 SameSite 的情况…
SameSite 的 cookie 设置是什么?
SameSite Cookie 设置有助于控制跨站请求发送 Cookie 的时间,从而降低跨站请求伪造(CSRF)攻击的风险。下面是其工作原理的详细介绍:
什么是跨站请求?
跨站请求是从一个网站向另一个网站发出的请求。例如,如果你登录了一个应用程序,并点击了一篇新闻文章的链接,这就是跨站请求。简单地说,就是从一个网站链接到另一个网站的请求。
什么是 SameSite 设置?
SameSite 设置是一种 cookie 属性,可用于控制跨站请求是否发送 cookie。SameSite 设置有三种可能的值:
- SameSite=Strict:只有向设置 Cookie 的同一网站请求时,才会发送 Cookie。
- SameSite=Lax:Cookie 会随请求发送到设置 Cookie 的同一网站,以及嵌入同一页面(如 iFrame)的第三方网站。
- SameSite=None:所有请求都会发送 Cookie,与设置 Cookie 的网站无关。
为什么 SameSite 设置很重要?
SameSite 设置非常重要,因为它有助于降低跨站请求伪造(CSRF)攻击的风险。CSRF 攻击是一种利用用户浏览器已登录网站这一事实的网络攻击。在 CSRF 攻击中,攻击者可以诱使用户向其已登录的网站发出请求,即使用户无意这样做。这样,攻击者就可以窃取用户数据或执行其他恶意操作。