Codeigniter + Backbone.js : jeton csrf via json

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Codeigniter + Backbone.js : jeton csrf via json

Codeigniter + Backbone.js : jeton csrf via json

par 3akycka » 30 janv. 2014, 09:34

Bonjour,

J'utilise Codeigniter + Backbone.js/Marionette.js
Quand dans Codeigniter la protection contre les csrf est activée (config/config.php $config['csrf_protection'] = TRUE;),
je n'arrive pas à envoyer le jeton lors de l'enregistrement d'un model avec la fonction save() de Backbone.
J'ai récupéré la valeur du jeton et l'ai rajouté au modèle (en utilisant $this->security->get_csrf_token_name() et $this->security->get_csrf_hash() de Codeigniter),
mais comme le données sont envoyées via Json, Codeigniter de reçoit pas de variable dans $_POST et affiche une erreur "The action you have requested is not allowed." (le Json est récupéré comme ça dans CI : $values = json_decode(file_get_contents('php://input'), true); )

Comment faire, est-ce qu'il serait possible d'envoyer via Backbone.js le jeton dans $_POST en plus du Json.
Ou autre chose... ?

J'ai trouvé ça, mais la personne qui l'a posté n'a pas l'air bien sur de ce qu'elle fait, et même si ça marche je n'ai pas envie de modifier les sources de CI, surtout concernant la sécurité : http://stackoverflow.com/questions/1879 ... on-request

Merci si vous aviez une idée