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 15/03/2006, 16h47   #1
Invité de passage
 
Inscription : mars 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 22
Points : 1
Points : 1
Par défaut [Sécurité] Authentification MD5

Salut à tous,

J'ai récupéré un script pour administrer mon tracker. Le login avec mot de passe est crypté en md5. Voici le bout de source exemple de l'auteur (original):

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
ob_start('ob_gzhandler');
    require_once('functions.php');
 
    //Specify Usernames and MD5ed Passwords here:
	//**********************************************
	$users['Test'] = '0cc175b9c0f1b6a831c399e269772661'; //Password is 'a'
 
	//NO PASSWORD IS: d41d8cd98f00b204e9800998ecf8427e
 
 
	//**********************************************
	//			\/ DO NOT EDIT BELOW \/
	//**********************************************
 
	 //authentication
	function SendAuthReq()
	{
	   header('WWW-Authenticate: Basic realm="Torrent Control"');
	   header('HTTP/1.0 401 Unauthorized');
	   site_header();
	   main_box('Authentication Error!!', 'Incorrect User/Password when accessing Torrent Control');
	   site_footer();
	}
	if (!isset($_SERVER['PHP_AUTH_USER'])) {
	   SendAuthReq();
	   exit;
 
	  } 
	else {
 
	  if($users[$_SERVER['PHP_AUTH_USER']] > '')
	  {
 
	  if($users[$_SERVER['PHP_AUTH_USER']] != md5($_SERVER['PHP_AUTH_PW']))
	  SendAuthReq();
 
 
	  }
}
Impossible de m'identifier. Mais j'avoue ne pas bien comprendre le principe. Ai-je besoin d'un fichier .htpasswd?? Si j'ai bien compris, c'est le serveur qui m'identifie.

Que dois-je faire pour acceder à ma page??

Je vous remercie d'avance!
dinastar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 17h33   #2
Membre expérimenté
 
Avatar de papyphp
 
Inscription : avril 2005
Messages : 425
Détails du profil
Informations personnelles :
Âge : 62
Localisation : Belgique

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : avril 2005
Messages : 425
Points : 545
Points : 545
Bonjour Dinastar,

Ce petit bout de code semble faire une authentification de l'internaute.

Je dirais même que si tu donnes Test comme user et a comme password, ça devrait marcher.

Si éventuellement tu ne parvenais pas à entrer, il faudrait que tu changes le mot de passe

Tu utilise la fonction md5() pour créer un mot de passe crypté, tu recopies le contenu dans
Citation:
$users['Test'] = '0cc175b9c0f1b6a831c399e269772661';
et le tour est joué.

A+
papyphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 17h48   #3
Invité de passage
 
Inscription : mars 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 22
Points : 1
Points : 1
Merci pour ta réponse

Et bien justement, même quand je remplace mon "user" mon mp crypté en md5, l'accé m'est refusé!!

Je comprend pas, y'a pas une histoire de .htacces et .htpasswrd. des droits de lecture?? Quoi d'autres...
dinastar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2006, 21h04   #4
Membre expérimenté
 
Avatar de papyphp
 
Inscription : avril 2005
Messages : 425
Détails du profil
Informations personnelles :
Âge : 62
Localisation : Belgique

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : avril 2005
Messages : 425
Points : 545
Points : 545
Au lieu d'utiliser Test, comme login utilise User

Donc dans
Code :
$users['Test'] = '0cc175b9c0f1b6a831c399e269772661'; //Password is 'a'
remplace Test par User

Ca marche

Ca pourrait venir de :
Citation:
'PHP_AUTH_USER'
Lorsque vous utilisez PHP avec Apache ou IIS (ISAPI en PHP 5) en tant que module faisant une identification HTTP, cette variable est définie à l'utilisateur fourni par l'utilisateur.
papyphp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2006, 16h48   #5
Invité de passage
 
Inscription : mars 2006
Messages : 22
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 22
Points : 1
Points : 1
Désolé, mais ça marche pas!

Je remplace "Test" par "User", mon mot de passe en md5, et je suis toujours refusé!

Comprend rien, quelle sont les conditions, mon hébergeur me fournit php5.1. Par contre je sais pas si c'est Apache.

Pouvez vous m'aider?
dinastar 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 15h56.


 
 
 
 
Partenaires

Hébergement Web