Evita gli attacchi CSRF creando modulo con JavaScript su CakePHP
-
13-12-2019 - |
Domanda
Documentazione CakePHP dice per evitare CSRFAttacchi È necessario includere il componente Security nel controller e in aggiunta, creare il modulo usando il Formhelper .
Nel mio caso, ho bisogno di creare alcuni campi modulo (come una textarea) utilizzando JavaScript (jQuery) e tali non posso usare il formhelper per loro.
$('#body').html('<textarea name="data[post][body]" type="textarea" cols="30" rows="3">'+text+'</textarea>');
.
E, naturalmente, non passa la sicurezza e il modulo non riesce a essere presentato.
C'è comunque in grado di creare una forma sicura creando alcuni campi con JavaScript?
Grazie.
Soluzione
Bene, un'opzione è quella di sbloccare questi campi in modo che vengano ignorati nel controllo di sicurezza.Nella tua vista, scrivi:
<?php $this->Form->unlockField('fieldname'); ?>
.
Un'altra opzione sarebbe quella di creare i campi del modulo che si desidera aggiungere dinamicamente con l'aiutante del modulo in un'area nascosta del modulo e mostrarli solo se necessario.