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

标签 symfony yaml

在 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/

相关文章:

forms - 如何增加Symfony 2表单上文件的上传限制?

php - 无法从表单类型的查询构建器函数访问全局变量

php - 文件 routing.yml 不再工作

amazon-web-services - 部署 efs 堆栈时出现以下错误

PHP YAML 解析器

forms - 如何在表单编辑中定义 textarea 内容 (Symfony2/TWIG)

php - SQLSTATE[42S02] : Base table or view not found: 1146 Table 'sf_sandbox.phpcr_workspaces' doesn't exist

Github 操作无需提交,工作树干净

java - Spring 中的 Maven 配置文件和应用程序 yml 文件

yaml - GitHub Actions 将变量列表传递给 shell 脚本