Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1453 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  identification pour pages privées

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

identification pour pages privées

n°1502875
dj3c1t
Posté le 14-01-2007 à 22:06:57  profilanswer
 

Bonjour,
 
Je voudrais sécuriser l'accès à un programme php, sur un serveur, qui génère des pages d'administration pour un utilisateur qui s'identifie via un formulaire html.
N'étant pas sûr des techniques qui permettent de contourner les sécurités, je poste ici un résumé du mécanisme d'identification que j'ai mis en place: merci de me dire si vous pensez à un moyen de contourner le truc. ça me permettra de me faire une meilleur idée de l'efficacité du procédé...
 
alors voilà:
 
coté serveur, les utilisateurs sont enregistrés dans une base de données, avec leur login et le md5 de leur mot de passe.
 
lorsqu'un client demande la page d'identification, une session php est ouverte et deux variables de session sont créées:
1] une variable "ip" initialisée avec $_SERVER["REMOTE_ADDR"]
2] une variable "id" initialisée avec un identifiant créé pour l'occasion ( avec md5(rand()) )
 
une fois ces variables de session créées, un formulaire est envoyé au client avec un champ texte de nom "login" et un champ password de nom "clef".
lorsque l'utilisateur valide le formulaire d'identification, un code javascript remplace, avant de poster, le champ password par:
 
md5(md5(password) + id)
 
où id est l'identifiant créé en 2]
 
donc dans la requete POST qui suit la validation du formulaire, y'a le login, en clair, et une clef qui vaut md5(md5(password) + id)
 
lorsque la requête arrive avec le login et la clef, php récupère dans la base le md5 (mettons dans $md5_pass) correspondant à ce login, et compare la clef à:
md5($md5_pass.$_SESSION["id"])
 
si le resultat de ce truc est pareil que la clef, alors le script considère que l'identification est OK.
dans ce cas, une variable de session de nom "user" est crée avec pour valeur le login posté.
 
dans le reste du programme, l'accès aux fonctions d'administration est autorisée si :
$_SESSION["user"] a une valeur    ET    $_SESSION["ip"] est égal à $_SERVER["REMOTE_ADDR"]
 
...
et voilà !  :D  
(je soupçonne un truc débile dans ce procédé, mais j'arrive pas à mettre le doigt dessus)

mood
Publicité
Posté le 14-01-2007 à 22:06:57  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  identification pour pages privées

 

Sujets relatifs
gestion des pagesmoteurs de recherche bloqués sur certaines pages ! Parade ?
Affichage des résultats pages par pagesUn lien => 2 pages HTML
[PHP] créer une possibilté d'identification SQL/PHPSécurité des pages WEB
[PHP] Deux pages qui ne s'imbriquent pasLiens soft vers pages Web
Sécurité entre pages PHP et ASPDiv adapté à la hauteur des pages
Plus de sujets relatifs à : identification pour pages privées


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR