gpt4 book ai didi

symfony - 仅为 Symfony2 中的开发环境禁用 CSRF

转载 作者:行者123 更新时间:2023-12-02 01:32:04 25 4
gpt4 key购买 nike

在 SF2 经典应用程序中,如何仅针对开发环境禁用表单登录 CSRF?

配置文件:

imports:
- { resource: parameters.yml }
- { resource: security.yml }

framework:
#esi: ~
translator: { fallback: en_US }
secret: %secret%
router:
resource: "%kernel.root_dir%/config/routing.yml"
strict_requirements: "%kernel.debug%"
form: true
csrf_protection: true

安全.yml:

firewalls:
dev:

pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false

login:
pattern: ^/user/(login|reset-request|send-email|check-email)$
provider: chain_provider
anonymous: true

main:
pattern: ^/
provider: chain_provider
form_login:
csrf_provider: form.csrf_provider
check_path: my_security_check
login_path: my_security_login
logout:
path: my_security_logout
remember_me:
key: %secret%
name: MYKEY
lifetime: 3600
anonymous: false

security_dev.yml:

firewalls:
main:
form_login:
check_path: my_security_check
login_path: my_security_login

目的是通过包含 security_test 的安全配置来取消设置 csrf_provider:

config_dev.yml:

imports:
- { resource: config.yml }
- { resource: security_dev.yml }

我无法将 csrf_provider 设置为 null 或 false,因为 SF2 不接受这些值。但有了这种包含, key 始终存在。

所以问题可能更笼统:我怎样才能用另一个 yaml 包含完全覆盖配置数组?

提前致谢

JM

最佳答案

这让我想知道为什么要禁用 CSRF 进行开发,但如果您确定要这样做,实际上做起来非常简单。只需覆盖 config_dev.yml 中的设置:

framework:
# ...
csrf_protection: false

关于symfony - 仅为 Symfony2 中的开发环境禁用 CSRF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33593614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com