Si tu regardes les appli les plus courantes, comme PhpMyAdmin, leur token est unique par session. Cela veut dire qu'il n'est généré qu'avec une nouvelle session. Cela permet d'éviter une destruction du jeton si on ouvre plusieurs fenetres, et ensuite, si l'attaque se fait par email ou un site externe, il n'est à priori pas capable d'avoir accès à ton jeton, donc cela convient. A+Bonjour à toutes et à tous,
j'ai décidé d'apprendre un peu plus sur la sécurité des sites internet, côté qui m'avait pas mal manqué jusque là (oubli de m'informer, pas le temps, la flemme, [....], fin liste exhaustive).
Je me suis donc potassé quelques articles et sites mais je rencontre des difficultés à mettre en place une sécurité contre ce type de faille.
J'ai pleinement compris qu'il fallait utiliser un jeton et vérifier que c'était le même que celui généré par le formulaire de connexion.
Cependant... Je fais comment après un changement de page ?
Ma fonction de vérification vérifie le jeton avec le jeton envoyé par le formulaire (en champs hidden).
Mais bien évidement si je change de page après cette vérification la fonction me renvoie false puisque je ne viens plus du formulaire...
Je n'ai pas trouvé d'informations explicites me permettant de régler mon problème, tous les articles et exemples que j'ai pu lire se cantonnent à une page formulaire et une page verif...
Un coup de pouce ou de pied pour moi ?
Oui, mais que peut-il faire sans token ...Hum et si la personne a quitté le site sans se déconnecter ?
La session est de nouveau active à l'ouverture du site(via le mail).
C'est surtout ce genre de faille qui pose problème.
Car le fait de générer des valeurs aléatoire pour chaque session ne pose pas gros problème.
Bah si le token est en corrélation avec la session il l'a le token ?_?Oui, mais que peut-il faire sans token ...Hum et si la personne a quitté le site sans se déconnecter ?
La session est de nouveau active à l'ouverture du site(via le mail).
C'est surtout ce genre de faille qui pose problème.
Car le fait de générer des valeurs aléatoire pour chaque session ne pose pas gros problème.
Non, ou alors on parle du XSS ... Pour le CSRF, le "méchant" n'a même pas conscience du n° de session, il utilise juste le fait que le gentil soit connecté. Le problème, c'est que le gentil va sur delete.php qui génère (on va prendre le cas du GET), des liens de type delete.php?id=5 mais avec un token donc delete.php?id=5&token=C589DE44DDEE44, token qui va changer à chaque page, ou qui dure toute la session (ici dans mon exemple ça ne change rien). Si le méchant envoie un email au gentil avec une image src="gentil.com/admin/delete.php?id=5", il ne passera rien puisque le token, il ne l'a pas. Pour l'avoir, il faudrait qu'il utilise des techniques telles qu'il aura de fortes chances d'avoir aussi le numéro de session avec ... donc de toutes façons ... Par contre en limitant le temps d'inactivité, et en enregistrant le nom du navigateur, des infos par ci par là (qu'on dit alors devenir unique, comme la prise en charge de Flash etc), le site peut comparer ça à chaque fois, et deconnecter d'urgence si il y a la moindre incompatibilité. Or, un navigateur ne change pas de nom lors d'une même session, et ne change pas trop de configuration non plus. Et au pire, il s'agit de la sécurité, devoir se reconnecter, c'est pas grand chose. C'est d'ailleurs tout aussi primordial pour les grandes opérations.Bah si le token est en corrélation avec la session il l'a le token ?_?Oui, mais que peut-il faire sans token ...Hum et si la personne a quitté le site sans se déconnecter ?
La session est de nouveau active à l'ouverture du site(via le mail).
C'est surtout ce genre de faille qui pose problème.
Car le fait de générer des valeurs aléatoire pour chaque session ne pose pas gros problème.
Le coup du referer j'aime pas trop car c'est modifiable...
Par contre le timestamp pour l'inactivité j'aime bien ! Je vais rajouter cela à mon système de session.