Я пишу backend-приложение, которое имеет внутреннюю аутентификацию запросов, поэтому мне не нужен CSRF - за исключением небольшого количества форм, которые фактически отображаются пользователю.symfony 2 csrf выборочное разрешение?
Поэтому я отключил CSRF в config.yml, но я хочу включить его для определенных форм. Согласно документации, это должны сделать трюк:
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$resolver->setDefaults(array(
// FIXME: this doesn't work, I still don't get CSRF ?
'csrf_protection' => true,
'csrf_field_name' => '_token',
));
}
, но это не так, я до сих пор не получают маркер CSRF в этой форме. Мой файл с ветками говорит:
<form action="{{ path('mypath') }}" method="post" {{ form_enctype(form) }}>
{{ form_widget(form) }}
<button name="submit">{{ 'register.submit'|trans }}</button>
</form>
Так что это тоже должно работать. В чем проблема?
Не могли бы вы отправить файл прут? Обычно CSRF отсутствует, потому что если в шаблоне формы вы не хотите использовать поведение формы по умолчанию '{{form_widget (form)}}', вы должны поместить '{{form_rest (form)}}', чтобы получить введенный токен –
. Я использую значение по умолчанию. – Tom
Какую версию Symfony вы используете? – nni6