Symfony 2.7 csrf_protection disable nem megy

Symfony 2.7 csrf_protection disable nem megy
2015-07-19T18:54:22+02:00
2015-07-21T15:47:37+02:00
2022-10-15T22:00:22+02:00
DarkRaptor
Sziasztok!

ismét egy apró problémába ütköztem, nem tudom kikapcsolni az automatikus csrf_protection értéket a form generálásnál.

Amikkel próbálkoztam:

1. app/config/config.yml-ben:

framework: csrf_protection: false form: csrf_protection: enabled: false

2. létrehoztam egy Form Type-ot:

<?php namespace AppBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; class NewsPageType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('email', 'email', [ 'attr' => ['placeholder' => "example@gmail.com"], 'label' => 'Email:', //'required' => true ]) ->add('status', 'checkbox', [ 'label' => 'Status:', //'required' => true ]) ->add('send', 'submit', ['attr' => ['value' => "save"]]); } public function getName() { return 'article'; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'csrf_protection' => false, )); } public function getDefaultOptions(array $options) { return array( 'csrf_protection' => false ); } }
majd itt a meghívás:

$form = $this->createForm(new NewsPageType(), null, [ 'action' => $this->generateUrl('insert_news'), 'method' => 'POST' ]);

3. ugyanez entity nélkül:

$form = $this->createFormBuilder(array('csrf_protection' => false)) ->setAction($this->generateUrl('insert_news')) ->setMethod('POST') ->add('email', 'email', [ 'attr' => ['placeholder' => "example@gmail.com"], 'label' => 'Email:', //'required' => true ]) ->add('status', 'checkbox', [ 'label' => 'Status:', //'required' => true ]) ->add('send', 'submit', ['attr' => ['value' => "save"]]) ->getForm();
mindenütt ott van a csrf_protection false, mégis belerakja a generált formba. Hol kell még kiszedni?

köszönöm!
Mutasd a teljes hozzászólást!
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilder; class MyType extends AbstractType { // .... public function getDefaultOptions(array $options) { $options = parent::getDefaultOptions($options); $options['csrf_protection'] = false; return $options; } }
2;
use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilder; use Symfony\Component\OptionsResolver\OptionsResolverInterface; class MyType extends AbstractType { // ... public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array('csrf_protection' => false,)); } }
3;
A configure() metódusba:
$this->disableLocalCSRFProtection();
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd