Jeton de session invalide cURL/PHPBOOST 5
sthda Membre non connecté
Booster Minigun
- Booster Minigun
- Voir le profil du membre sthda
- Inscrit le : 24/05/2010
- Site internet
- Groupes :
J'avais développé un module (nommé rsthda) sous PHPBOOST pour faire des analyses statistiques en ligne (par exemple : http://sthda.com/french/rsthda/unpaired-t-test.php ).
Ce module a marché sous PHPBOOST 3 et marche actuellement sous PHPBOOST 4.1.
Le fonctionnement général du module est le suivant:
1. L'utilisateur entre ses données dans les champs correspondants et clique sur OK.
2. Les données sont envoyées à un fichier php, qui vérifie les données.
3. Pour l'exécution de l'analyse statistique et l'affichage des résultats, un fichier rsthda_resultat.php est appelé via cURL.
Actuellement, j'ai installé PHPBOOST 5 en local. J'ai adapté et installé le module rsthda sous PHPBOOST5. Le problème c'est que l'erreur suivante est généré à l'étape 3 (mentionnée ci-dessus):
Jeton de session invalide. Veuillez essayer de recharger la page car l'opération n'a pas pu être effectuée.
Je n'avais pas ce type d'erreur sous PHPBOOST 3 et 4.1.
Pourriez vous s'il vous plait m'aider?
Ci-dessous une partie de mon code PHP:
Code PHP :
................. $postfields = array(); $postfields["r_code"] = $r_code; $postfields["lookForDangerousCode"] = $lookForDangerousCode; $postfields["plot_width"] = $plot_width; $postfields["plot_height"] = $plot_height; $postfields["plot_resolution"] = $plot_res; $postfields["token"] = AppContext::get_session()->get_token(); $url=$rsthda_result; $useragent = "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"; $referer = $url; //Initialise une session CURL $ch = curl_init($url); //CURL options curl_setopt($ch, CURLOPT_POST, 1); //On poste les données du tableau $postfields curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields); //On définit un useragent ici Mozilla/5.0 //souvent les bots se font passés pour googlebot ce qui finalement est stupide //On passe donc un useragent banal curl_setopt($ch, CURLOPT_USERAGENT, $useragent); //On passe un referrer ici on passe la même page $url curl_setopt($ch, CURLOPT_REFERER, $referer); //on récupère le contenu de la page de résultat de la soumission dans une chaine curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // en cas de redirection (facultatif ici) curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //Page de résultats et fermeture de session $result= curl_exec($ch); ..........................
Je vous remercie d'avance,
STHDA
j1.seth Membre non connecté
- Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
- Chef de Projet
- Equipe Développement
En effet, la sécurité a été améliorée en 5.0.
Je suppose qu'il y a un formulaire dans le module, si c'est le cas il faut ajouter ce qui suite avant la fin pour passer le token de connexion en post :
Code TPL :
<input type="hidden" name="token" value="{TOKEN}">
sthda Membre non connecté
Booster Minigun
- Booster Minigun
- Voir le profil du membre sthda
- Inscrit le : 24/05/2010
- Site internet
- Groupes :
Comme j'utilise cURL, j'ai passé le jeton en utilisant $postfields["token"] = AppContext::get_session()->get_token(); (voir code php dans le message précédent). En faisant $_POST['token'], je confirme que le jeton a été bien transmis à la page rsthda_result.php.
L'erreur persiste toujours!!!
Je vous remercie pour d'autres suggestions.
Répondre
Sujet verrouillé, vous ne pouvez pas poster de message