Bonjour, me revoilà avec mes tokens anti CSRF je déploie ces tokens sur tous les formulaires de mon appli et là je rencontre l'erreur undefined index sur mes tokens.
Je m'explique : dans ma vue qui contient mon formulaire je génère un token et je met un champ caché dans le formulaire qui prend pour valeur le token.
Notice: Undefined index: mail_rs in C:\Applications\wamp64\www\portail\models\RsManager.class.php on line 893
NULL
string(31) "31792904637cc5e35b3ca3.88068889"
Notice: Undefined index: mail_rs_time in C:\Applications\wamp64\www\portail\models\RsManager.class.php on line 897
NULL
1669121518
string(43) "http://localhost/portail/rs/mailrs/59"
mailRs_token, mailRs_token_time, token ne sont pas tous isset
Comment avoir accès à mon token générer dans ma vue ?
Patate
>
jordane45
Messages postés38350Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention26 décembre 2024 Modifié le 23 nov. 2022 à 15:24
J'comprend pas bien à ce moment là on dirait qu'il prend plusieurs mails
SERVER['HTTP_REFERER'] != referer
http://localhost/portail/rs/mailrs/59 // 59 = id du rs 59 dans ma bdd
http://localhost/portail/rs/mailrs/31 // 31 = id du rs 31 dans ma bdd
Okay j'ai essayé de mettre l'id en statique dans mon if au lieux de
'http://localhost/portail/rs/mailrs/' . $id
J'ai mis
'http://localhost/portail/rs/mailrs/59'
Et ça m'a bien envoyé mon mail de l'id 59 mais mtn j'aimerais mettre $id mais j'ai toujours ce 31 qui reviens et je ne sais pas du tout à quoi il correspond il y a aucun id 31 en plus dans ma table.
jordane45
Messages postés38350Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention26 décembre 20244 719 23 nov. 2022 à 16:39
Faudrait regarder ( et nous montrer ? ) comment tu fais appel à ta fonction
mailRsBd
Patate
>
jordane45
Messages postés38350Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention26 décembre 2024 Modifié le 24 nov. 2022 à 09:22
J'ai capté en fait pour remettre dans le contexte je choisis quelque chose qui a un id pcq c dans ma bdd que j'envois à une liste de diffusion qui a aussi un id et en fait au lieux de prendre l'id de mon truc que j'envois, celui qui est dans la barre d'url, il prend l'id de la liste de diffusion à laquelle j'envois le mail.
L'appel de ma fonction mailRsBd dans mon controller
Du coup l'id que j'ai dans les paramètres de ma fonction mailRsBd est celui de la liste de diffusion et non pas de mon rs
public function mailRsBd($id, $ville, $cmbl, $fichier) {}
A noter : je reprend du code qui n'est pas le miens donc je déchiffre peu à peu ce qui a été fait.
EDIT : Je viens d'afficher le $_POST['id'] qu'il y a dans le Controller pcq je pensais que lui prenais l'id de mon RS mais nan il prend aussi l'id de la liste de diffusion. WTF comment il sait quoi envoyer ??
23 nov. 2022 à 08:45
Merci de ton retour,
var_dump($_POST)
var_dump($_SESSION)
On peut voir que j'ai bien mes deux token de mail pourtant :
23 nov. 2022 à 12:02
Et maintenant, regarde la ligne correspondant à tes messages d'erreur .... (compare le nom des variables avec ceux que tu as en session... )
23 nov. 2022 à 14:19
Si tu fais allusion à
comparé à
C'est normal sur tous mes autres token c'est pareil et ça fonctionne, si tu regarde ces deux fonctions :
J'ai quand même essayé ça pour être sur mais ça ne fonctionne pas :
23 nov. 2022 à 14:50
Il faut bien garder mail_rs dans l'appel de ta fonction
¨Par contre, je parlais des messages d'erreurs liés à tes var_dump .. pas du fonctionnement de ta fonction.
Pour ta fonction, ajoutes y des else et du debug pour comprendre ce qui n'est pas bon.
par exemple
Modifié le 23 nov. 2022 à 15:24
J'ai changé ma fonction par la tienne,
Voici le résultat :
J'comprend pas bien à ce moment là on dirait qu'il prend plusieurs mails