Bonjour,
Je viens de remarquer un comportement "étrange" sur le referer d'une de mes pages lors de l'envoie de formulaire.
J'ai un formulaire basique avec un jeton pour pouvoir vérifier la provenance du formulaire à la réception:
Dans ma page "validation_ajout.php", je vérifie le jeton, si il est bon, je lance le traitement de mon formulaire avec les redirections qui vont bien selon les cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5<form id="idFormAjout" method="POST" action="validation_ajout.php"> <input type="hidden" name="token" id="token" value="<?php echo $token; ?>"/> <!--Jeton de sécurité--> <input type="submit" id="btnSendForm" value="Ajouter à la base"> </form>
Le problème c'est que le jeton n'était jamais valide, j'ai donc cherché et je me suis rendu compte que le probléme venait du referer.
En effet dans ma vérification du jeton, je faisais
et qu'en je faisait un echo du $_SERVER['HTTP_REFERER'] j'obtenais "ajout.php?" au premier envoie du formulaire puis "ajout.php"(normal) aux autres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if($_SERVER['HTTP_REFERER'] == 'ajout.php') //ajout.php étant la page ou se situe le formulaire
Je ne comprends pas d'où vient le "?", j'ai un autre formulaire qui suit le même schéma mais qui n'a pas ce probléme...
Pour contourner le probléme j'ai fais :
mais j'aimerais comprendre pourquoi il ajoute ce ?.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $referer = array('ajout.php','ajout.php?'); if(in_array($_SERVER['HTTP_REFERER'], $referer))
Est-ce normal? Pourquoi cela fait-il cela?
Si quelqu'un peut m'expliquer ce serait gentil =).
Merci.
Partager