Symfony 在3.2版中添加了对 SameSite cookie属性 (2016年11月)的支持。SameSite attribute 可防止浏览器在跨站请求(cross-site requests)的同时发送cookie。实践中,这可减轻跨域(cross-origin)时的信息泄露风险,并提供一些针对CSRF攻击的保护。
在 Symfony 4.2 中我们把框架内一些地方对此属性的设置进行了简化。
"Remember Me"中的SameSite属性
Contributed by
Kévin Dunglas
in #27976.
The Remember Me 功能 现在定义了一个新的名为 samesite
的cookie选项,以便在用到此功能的cookie中设置该值:
1 2 3 4 5 6 7 8 9 10 11 12 13 | # config/packages/security.yaml
security:
# ...
firewalls:
main:
# ...
remember_me:
# ...
# possible values: 'strict', 'lax' and null
# 可选的值是: 'strict', 'lax' and null
samesite: 'strict' |
session中的SameSite属性
Contributed by
Remon van de Kamp
in #28168.
类似的,用于管理用户session的cookie,现在也定义了一个新的名为 cookie_samesite
的配置选项,它具有同样的可选值 (strict
,
lax
和 null
):
1 2 3 4 5 6 | # config/packages/framework.yaml
framework:
# ...
session:
# ...
cookie_samesite: 'strict' |