【发布时间】:2016-08-03 07:02:03
【问题描述】:
使用 mongodb odm 处理 symfony2 项目,我尝试设置 sonata-admin。
我能够:
- 在 2 种 ODM 文档上设置奏鸣曲
- 列表
但是当我尝试更新记录时,我目前遇到了 CSRF 问题。 这两种记录我都试过了。
An error has occurred during update of item "AppBundle\Document\Domain:0000000013e9983500007fbae117c6a0".
The CSRF token is invalid. Please try to resubmit the form.
源代码中似乎存在 CSRF 令牌:
<input type="hidden" id="s57a195b9a533f__token" name="s57a195b9a533f[_token]" class=" form-control" value="W-pG62dT7hn6mHUu15bQQ4ChU0P55w9pmXsfP7HDnQE" />
我正在使用 Apache。重写模块已启用。
这是我的设置:
奏鸣曲合集
vagrant@scotchbox:/var/www/publishr$ php composer.phar show sonata-project/*
sonata-project/admin-bundle 3.x-dev 7386ec0 The missing Symfony Admin Generator
sonata-project/block-bundle 3.1.1 Symfony SonataBlockBundle
sonata-project/cache 1.0.7 Cache library
sonata-project/core-bundle 3.0.3 Symfony SonataCoreBundle
sonata-project/doctrine-mongodb-admin-bundle 3.x-dev 1157efc Symfony Sonata / Integrate Doctrine MongoDB ODM into the Son...
sonata-project/exporter 1.6.0 Lightweight Exporter library
Symfony 捆绑包
vagrant@scotchbox:/var/www/publishr$ php composer.phar show symfony/*
symfony/assetic-bundle v2.8.0 Integrates Assetic into Symfony2
symfony/monolog-bundle 2.11.1 Symfony MonologBundle
symfony/phpunit-bridge v3.1.3 Symfony PHPUnit Bridge
symfony/polyfill-apcu v1.2.0 Symfony polyfill backporting apcu_* functions to lower PHP versions
symfony/polyfill-intl-icu v1.2.0 Symfony polyfill for intl's ICU-related data and classes
symfony/polyfill-mbstring v1.2.0 Symfony polyfill for the Mbstring extension
symfony/polyfill-php56 v1.2.0 Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions
symfony/polyfill-php70 v1.2.0 Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions
symfony/polyfill-util v1.2.0 Symfony utilities for portability of PHP codes
symfony/security-acl v3.0.0 Symfony Security Component - ACL (Access Control List)
symfony/swiftmailer-bundle v2.3.11 Symfony SwiftmailerBundle
symfony/symfony v3.1.3 The Symfony PHP framework
PHP 版本
vagrant@scotchbox:/var/www/publishr$ php -v
PHP 5.6.23-1+deprecated+dontuse+deb.sury.org~trusty+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
【问题讨论】:
-
如果我在 FormTypeCsrfExtension.php 中禁用了“defaultEnabled”为 false。记录已更新。
-
是的,但是你不再有针对 CSRF 的保护
-
你应该尝试在
vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Csrf/EventListener/CsrfValidationListener.php中逐步调试 -
我知道我没有针对 CSRF 的保护。但总比没有好;-) 感谢您的帮助
标签: mongodb symfony sonata-admin