Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/07/2007, 17h27   #1
Membre confirmé
 
Inscription : juin 2002
Messages : 577
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 577
Points : 207
Points : 207
Par défaut [Sécurité] interception d'une requête HTTP en POST

Bonjour,
je me pose une question de sécurité.
Si dans une page login.php, j'ai un formulaire avec :
- 2 champs (login + pass)
- méthode POST
- action = verif_login.php
et dans cette page verif_login.php j'effectue les requêtes mysql pour savoir si le couple login/pass rentré est OK.
PS : dans un soucis de sécurité, j'utilise la fonction sha1() de php pour générer un hash du password, sachant que dans la base le password est rentré en utilisant la fonction sha1 de MySQL.

Comme la requête de post repart vers le serveur, qqun pourrait-il l'écouter/la sniffer pour en récupérer le couple login/pass qui repart en post ?

Parce que dans ce cas-là, ça sert à rien que je m'enquiquine à hasher le password pour ne pas qu'il circule en clair dans ma requête SQL, qui de plus est exécutée par le serveur en local ...

@+
olive_le_malin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 17h30   #2
Rédacteur
 
Avatar de doctorrock
 
Homme Julien Pauli
Architecte de système d'information
Inscription : mai 2006
Messages : 597
Détails du profil
Informations personnelles :
Nom : Homme Julien Pauli
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mai 2006
Messages : 597
Points : 5 015
Points : 5 015
Evidemment que c'est écoutable sur le réseau, il faut crypter la communication, par SSL par exemple.
__________________
.: Expert contributeur certifié PHP/ZF :.
Mes articles - Twitter - GitHub
doctorrock est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 17h34   #3
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Deux choses :

1/ la sécurité entre le client et le serveur:
a ce niveau la, le login/pass circule en clair donc qqn qui sniffe cette connexion pourrait effectivement avoir acces au login et pass en clair

2/ la sécurité du serveur :
l'intéret de stocker non pas un password en clair mais un hash du pass permet d'empecher que quelqu'un qui accède à ton serveur puisse voler la liste de tous les mots de passes de tes utilisateurs, d'ou l'intéret du hash.

Pour sécuriser le premier point il me semble que tu peux utiliser https ou j'avais lu un article je sais plus trop où qui proposait une solution toute bete : crypter/hasher le password directement chez le client AVANT de le transmettre en POST.
MAIS ca nécessite d'avoir javascript activé sur le client (ce qui n'est pas forcément le cas).
Du coup la personne regardait si javascript était activé, si oui le mot de passe était crypté avant transmission si non transmis en clair.

Maintenant quand j'écris ca je me dis qu'en sniffant cette requete on récupère le mot de passe crypté et que ca suffit donc pour accéder au compte du client (mais ca protege tout de meme le mot de passe client).

Et j'ajouterai (je réfléchis en postant ) que tu peux crypter le mot de passe d'une manière sure (en utilisant un id envoyé a la connexion, etc.)

Donc voila j'espère ne pas avoir été complètement incompréhensible!
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2007, 18h00   #4
Membre confirmé
 
Inscription : juin 2002
Messages : 577
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 577
Points : 207
Points : 207
bonjour,
merci pour vos réponses.
Donc il semble qu'il faille utiliser SSL pour crypter les dialogues client / serveur

Bon, mais le pire c'est que j'ai essayé, mais apparemment c'est pas possible avec WAMP.
Je pense qu'il faut j'installe Apache avec OpenSSL indépendamment de WAMP.
olive_le_malin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h47.


 
 
 
 
Partenaires

Hébergement Web