Избегайте CSRF-атак, создавая форму с JavaScript на CakePHP
В документации CakePHP сказано, что во избежание CSRF-атак необходимо включить в контроллер компонент Security и, кроме того, создать форму с помощью FormHelper.
В моем случае мне нужно создать некоторые поля формы (например, текстовое поле), используя JavaScript (jQuery), и поэтому я не могу использовать FormHelper для них.
$('#body').html('<textarea name="data[post][body]" type="textarea" cols="30" rows="3">'+text+'</textarea>');
И, конечно, он не проходит безопасность, и форма не может быть отправлена.
Могу ли я в любом случае создать безопасную форму, создав некоторые поля с помощью JavaScript?
Благодарю.
1 ответ
Ну, один из вариантов - разблокировать эти поля, чтобы они игнорировались при проверке безопасности. По вашему мнению, напишите:
<?php $this->Form->unlockField('fieldname'); ?>
Другой вариант - создать поля формы, которые вы хотите динамически добавить с помощью помощника по форме, в скрытой области формы и показывать их только при необходимости.