cyberastuces
Messages postés115Date d'inscriptiondimanche 9 août 2009StatutMembreDernière intervention27 octobre 2010
-
12 août 2007 à 17:31
kishkaya
Messages postés365Date d'inscriptionsamedi 26 juin 2004StatutMembreDernière intervention17 avril 2008
-
12 août 2007 à 21:42
Bonjour à tous
j'ai découvert un faille sur pas mal de site y compris le mien, je cherche donc une solution sur pour la protéger. je vous explique.
Prenons un formulaire de modification d'un profil, (mot de passe, email, nom, prénom...), quant le visiteur va dans la page modification du profil il est reconu par une session, si il poste le formulaire le script php va donc modifier les données du compte ayant t'id N° defini en session.
Maintenant, prenons le code source de la page profil avec les informations qu'on souhaite, inseré directement dans les champs autocompleter. Faite un auto submit puis placer cette page n'importe ou sur internet.
Ensuite sur un forum, msn ou autre, trouver une personne qui a un compte sur le site et demander lui de ce connecté a sont compte puis de cliquez sur le lien de la page que vous avez mit en ligne, que va t'il se passer ??
Resultat, le formulaire va se poster automatiquement et donc modifier les informations de la personne conncté par ceux rentré dans le formulaire.
Vous pouvez ensuite vous connecté a sont compte avec votre mot de passe et login.
Je cherche donc une solution pour que si le formulaire n'est pas sur mon serveur, les données ne soivent pas modifiée.
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 12 août 2007 à 17:56
c'est normal... enfin si tu n'a pas été redirigé vers la page.... pour voir ce que ça donne il faut que tu fasse 2 pages, la première contient un lien vers la seconde, dans laquelle tu fais la sortie de $_SERVER['HTTP_REFERER']..... et normalement tu devrais voir l'adresse complete du site référent....
Vala
<hr size="2" width="100%" />Developpement Web Yannic GraphiX | Mon CMS yArt et sa démo <hr size="2" width="10" />
Vous n’avez pas trouvé la réponse que vous recherchez ?
kishkaya
Messages postés365Date d'inscriptionsamedi 26 juin 2004StatutMembreDernière intervention17 avril 2008 12 août 2007 à 18:01
bonjour,
Tu peux faire un .htaccess qui limitte l'acces à la page en question aux utilisateurs venant de ton host.
Ainsi t'obliges les gens a être déjà sur ton site avant d'acceder à ta page qui pose des probleme de securité.
Mais il me semble que ton probleme de sécurité n'en est pas un, les sessions sont conservées sur le serveur (contrairement aux cookies). Si l'utilisateur accede a la page posant probleme et que il ne s'est pas authentifié en venant d'abord sur ton site et en creant une session avec identifiant de session (par l'intermediaire d'un script php que t'as déjà du faire), avec un simple if(isset($_SESSION['login'])) tu bloques leur acces.
Il est possible aussi que je n'ai pas compris ton probleme de sécurité, peut être que tu parles de vol d'identifiant de SESSION...
kishkaya
Messages postés365Date d'inscriptionsamedi 26 juin 2004StatutMembreDernière intervention17 avril 2008 12 août 2007 à 18:06
Bonjour,
En effet j'avais lu a moitié ton probleme, si l'utilisateur s'est connecté s'est lui même qui se piege par l'intermédiaire d'une mauvaise page.
Le .htacces marche bien.
Ou alors tu peux suivre l'idée de evangun et mettre un input hidden avec une valeur à retrouver lorsque tu fais la modification du profil, ca peux être l'identifiant de session ou un autre truc aléatoire que tu stoques dans la session et dans le champ caché
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 12 août 2007 à 19:34
Kishkaya, je ne vois pas comment le taccess pourrait marcher ? il est côté serveur, il ne saura pas dire de quelle page (côté client) les valeurs POST ont été envoyées, sauf erreur ? Et comme par définition, l'internaute sera considéré comme présent sur le site, puisqu'il s'est loggé juste avant...
Et l'idée de $_SERVER['HTTP_REFERER'] n'est pas fiable, certains navigateurs peuvent l'avoir désactivé pour ne pas être tracés.
Cyberastuces, si une réponse te convient tu peux fermer le sujet en l'acceptant, merci.
cyberastuces
Messages postés115Date d'inscriptiondimanche 9 août 2009StatutMembreDernière intervention27 octobre 2010 12 août 2007 à 19:36
Oui oui je prennais le temps de tester la methode de Evangun qui fonctionne, je vient de faire un test l'id de la session est diferent donc sa bloc. Merci de votre aide !
kishkaya
Messages postés365Date d'inscriptionsamedi 26 juin 2004StatutMembreDernière intervention17 avril 2008 12 août 2007 à 21:29
Evangun, il me semble que l'entete HTTP contient l'url de provenance. A partir de là ca doit etre possible de filtrer avec un .htaccess d'ou doit venir l'utilisateur.
Je fais des recherche sur comment faire et je reposte
kishkaya
Messages postés365Date d'inscriptionsamedi 26 juin 2004StatutMembreDernière intervention17 avril 2008 12 août 2007 à 21:42
Mea culpa, j'ai dit des conneries.
La solution c'est donc soit l'id de session, soit HTTP_REFERER, soit l'history en javascript (mais c'est moyen comme solution).
Désolé pour la confusion