IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

erreur: _csrf_token [Required.]


Sujet :

Symfony PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2011
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 12
    Points : 7
    Points
    7
    Par défaut erreur: _csrf_token [Required.]
    Bonjour à tous

    J'ai un problème avec mon formulaire lors de sa validation.

    Je l'ai créé moi même, mais lorsque je le valide j'ai l'erreur que quelques uns ont déjà sur ce forum:
    _csrf_token[Required.]

    Sauf que dans les autres sujets, la plupart l'ont résolu en mettant qqch du genre $form->renderHiddenFields
    Sauf que moi, ça me met rien quand je fais un echo de ça ^^' et aussi que les formulaires étaient extends sfFormDoctrine, ce que j'ai pas moi, mais je sais pas où il faut y changer si ça vient de là.

    Comme mes fichiers pour faire le formulaire sont assez long, je n'ai pas mis de code, mais si vous avez besoin d'un morceau, dites le moi.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2008
    Messages : 71
    Points : 49
    Points
    49
    Par défaut
    Salut,
    as-tu bien fait attention a ce que $form->renderHiddenFields() soit bien placé entre les balises <form></form> de ton template.

    EDIT : et aussi ne fait pas que rafraichir la page, sinon ton form sera bien a jour avec un champs _csrf_token mais sans valeur dedans.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 36
    Points : 34
    Points
    34
    Par défaut
    salut il faut commenter la ligne:
    # csrf_secret: UniqueSecret
    dans le fichier settings.yml et ensuite faire un clear cache

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    quand tu l'affiche, le champs est hidden, n'apparait-il pas dans le formulaire en regardant le code source html?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Dans le template:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <form>
    <?php echo $form->renderHiddenFields(); ?>
    OU
    <?php echo $form['_csrf_token']->render(); ?>
     
    ...
    </form>
    Sinon, dans la class du form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class monForm extends BaseForm{
     
    public function configure(){
     
    $this->disableCSRFProtection();
     
    .....
    En revanche cette dernière solution désactive la protection, et créé de ce fait une faille de sécurité. Donc a éviter dans le cas d'un formulaire executant une action sensible (effacer un élément/login etc...) en revanche dans le cas d'un filtre par exemple, aucun risque.

    Je déconseille fortement de le désactiver dans settings.yml, ce qui désactiverai la protection sur tout le site, et cette protection n'est pas là par hasard. Elle permet d’éviter des attaques de type csrf (http://fr.wikipedia.org/wiki/Cross-site_request_forgery).

Discussions similaires

  1. [1.x] Errors: _csrf_token [Required.] lors d'un test
    Par erictomcat dans le forum Symfony
    Réponses: 0
    Dernier message: 10/12/2013, 12h09
  2. erreur : subscript requires array or pointer type
    Par GabrielD dans le forum C++
    Réponses: 1
    Dernier message: 18/04/2011, 07h51
  3. erreur : Object required sur la fonction resizeTo sur IE7
    Par nakata77 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 01/04/2010, 16h05
  4. objFile.Delete erreur Object required
    Par chapeau_melon dans le forum VBScript
    Réponses: 5
    Dernier message: 06/06/2007, 08h56
  5. Erreur : '800a01a8' Object Required
    Par kiks dans le forum ASP
    Réponses: 4
    Dernier message: 01/12/2004, 13h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo