防御CSRF用Samesite Cookie防御
一些网站防beplay体育能用吗御CSRF攻击使用Samesite cookie。
这塑料
属性可用于控制是否以及如何在跨站点请求中提交cookie。通过在会话cookie上设置属性,应用程序可以防止自动添加cookie的默认浏览器行为,无论其起源于何处。
这塑料
属性已添加到set-cookie
当服务器发出cookie时,响应标头可以给出两个值,严格的
或者宽松
。例如:
set-cookie:sessionid = symnfcuralmqvvzn9dqevxyfpkzt30nn;samesite =严格;
set-cookie:sessionid = symnfcuralmqvvzn9dqevxyfpkzt30nn;samesite = lax;
如果是塑料
属性设置为严格的
,那么浏览器将不会在源自另一个站点的任何请求中包含cookie。这是最防御性的选项,但是它可能会损害用户体验,因为如果登录用户遵循第三方链接到网站,那么它们似乎不会登录,并且需要再次登录。以正常方式与站点互动。
如果是塑料
属性设置为宽松
,然后浏览器将在源自另一个站点的请求中包含cookie,但只有满足两个条件:
- 该请求使用GET方法。带有其他方法(例如邮政)的请求将不包括cookie。
- 该请求是由用户的顶级导航产生的,例如单击链接。其他请求,例如由脚本发起的请求,将不包括cookie。
使用塑料
cookie in宽松
然后,模式确实提供了针对CSRF攻击的部分防御,因为通常使用POST方法实施CSRF攻击目标的用户操作。这里有两个重要的警告:
- 一些应用程序确实使用GET请求实现敏感动作。
- 许多应用程序和框架对不同的HTTP方法具有耐受性。在这种情况下,即使应用程序本身采用了设计方法,它实际上也会接受切换以使用GET方法的请求。
出于描述的原因,不建议仅仅依靠Samesite cookie作为防御CSRF攻击的防御。与CSRF令牌但是,Samesite Cookie可以提供额外的防御层,以减轻基于令牌的防御中的任何缺陷。