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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top