Téléchargé 14 fois
						
					
					
						Vote des utilisateurs
					
					
	 0
0  0
0 
						Détails
					
					Licence : Non renseignée
						Mise en ligne le 15 février 2011
												
																		
													Langue : Français
						
					
							Référencé dans
						
						
										
					
						Navigation
					
					
				
						
							
							
								Protéger un espace d'administration 							
						 
					
					
								Protéger un espace d'administration 							
						Ce code permet de protéger l'accès à une page.
Pour l'essayer :
* Lancer la page sur le serveur
* Saisissez les informations telles que le login et le mot de passe
* Cliquer sur OK
Pour changer le login et le mot de passe, regarder dans le code, tout y est expliqué.
					
										
					
					
							Pour l'essayer :
* Lancer la page sur le serveur
* Saisissez les informations telles que le login et le mot de passe
* Cliquer sur OK
Pour changer le login et le mot de passe, regarder dans le code, tout y est expliqué.
Bonjour,
Merci à Ludovic pour son code.
Je n'ai pas trop aimé d'abord les fautes d'orthographe.
Ensuite, il ne marche pas. A moins d'avoir réglé register_globals à ON (ce qui n'est pas très protecteur).
Si on n'a pas accès au php.ini, on peut le faire fonctionner (php >=4.2.0) en ajoutant au début la ligne
	
	Ensuite, l'idée de passer par GET dans un "protection.php" n'est pas fameuse.
voir http://blog.developpez.com/julienpau...p-self-et-xss/
Au lieu de :
	
		
Faire :
	
		
C'est moins tentant à attaquer.
	
		
			
			
				
$log="ton_login_ici"; // change ton login ici
$pwd="ton_pass_ici"; // change ton password ici
// *************************
$log=ereg_replace("\n", "", $log);
$pwd=ereg_replace("\n", "", $pwd);
if (strcmp($login, $log) != 0) { //$login est la variable du formulaire précédent
print "\n<center><b>Le login est incorrect</b><br><br><a href=\"protection.php\">RETOUR</a></center>";
exit; // on n'exécute pas la suite du si si le login est faut...
			
		
	
Pourquoi nettoyer $log et $pwd ? ereg_replace ne sert à rien, on vient de les coder en dur!
Je n'ai pas trop aimé l'excès de variables inutiles. "entreeludo" prend 3 valeurs, or seule $entreeludo=2 est utilisée...
	
		
Curieusement, en supprimant ces lignes, tout va bien...
Je propose donc à Ludovic une version amaigrie de son code :
	
	

Enfin, une question à Ludovic que mets-tu dans le fichier ".htaccess" de la zone protégée ?
 A+
A+
					Merci à Ludovic pour son code.

Je n'ai pas trop aimé d'abord les fautes d'orthographe.

Ensuite, il ne marche pas. A moins d'avoir réglé register_globals à ON (ce qui n'est pas très protecteur).
Si on n'a pas accès au php.ini, on peut le faire fonctionner (php >=4.2.0) en ajoutant au début la ligne
| Code : | Sélectionner tout | 
extract($_REQUEST,EXTR_OVERWRITE);
voir http://blog.developpez.com/julienpau...p-self-et-xss/
Au lieu de :
			
			
				<form method="post" action="<? print "$PHP_SELF?entreeludo=2"; ?>">
			
		
	
			
			
				<form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>">
<input type='hidden' name='entreeludo' value='2'>
			
		
	<input type='hidden' name='entreeludo' value='2'>
$log="ton_login_ici"; // change ton login ici
$pwd="ton_pass_ici"; // change ton password ici
// *************************
$log=ereg_replace("\n", "", $log);
$pwd=ereg_replace("\n", "", $pwd);
if (strcmp($login, $log) != 0) { //$login est la variable du formulaire précédent
print "\n<center><b>Le login est incorrect</b><br><br><a href=\"protection.php\">RETOUR</a></center>";
exit; // on n'exécute pas la suite du si si le login est faut...
Je n'ai pas trop aimé l'excès de variables inutiles. "entreeludo" prend 3 valeurs, or seule $entreeludo=2 est utilisée...
			
			
				       $entreeludo=3; // entreeludo prend la variable 3 (login et pass sont bon si on arrive là)
$go="okludo"; // la variable go prend la valeur "okludo" pour afficher la partie protégée.
}
if ($go == "okludo" { // Début de la page d'administration
 { // Début de la page d'administration
			
		
	$go="okludo"; // la variable go prend la valeur "okludo" pour afficher la partie protégée.
}
if ($go == "okludo"
 { // Début de la page d'administration
 { // Début de la page d'administration
			
		Je propose donc à Ludovic une version amaigrie de son code :
| Code : | Sélectionner tout | 
| 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 40 41 42 43 44 45 46 47 48 49 50 51 | <?php
$login=$_POST['login'];
$password=$_POST['password'];
if(isset($login)) { // on arrive du formulaire 
    $log="ton_login_ici"; // change ton login ici
    $pwd="ton_pass_ici"; //  change ton password ici
    if ((strcmp($login, $log) != 0)||(strcmp($password, $pwd) != 0)) {
// Ne facilitons pas la tâche aux malveillants - Le test est fait sur la paire login/password
       	 print "<html><body style=\"text-align:center\"><b>Vous n'êtes pas reconnu.</b><br />Vérifiez SVP.<br /><a href=\"".
		htmlentities($_SERVER['PHP_SELF'])."\">RETOUR</a></body></html>";
// petite page bien formée qui efface  la paire login/password
       	 exit; }
// Ou bien un header("Location: etc... ou bien :
     echo "<html><body><h1>TE VOILA DANS L'ESPACE ADMINISTRATION DE TON SITE.<br /><br />SEULES LES PERSONNES AYANT LE MOT DE PASSE ET LE LOGIN PEUVENT Y ENTRER.</h1>";
/* ATTENTION DANS LE CAS D'UNE UTILISATION D'UN FORMULAIRE AVEC ENVOI DE DONNEES DANS CETTE PARTIE, IL faut METTRE :
 <form method="post" ACTION='princip.php'>
<input type='hidden' name='go' value='okludo'>
<input type='hidden' name='entreeludo' value='3'>
......
// Mettre ici tout ton espace administration -->
// Fin  de la page d'administration
*/
}
else { // la première connexion à la page ou sur un échec
echo <<<EOF
<html>
<head>
<title>ESPACE ADMINISTRATION - PAGE PROTEGEE</title>
<style type="text/css">
  td {font-family:"Verdana";font-size:12pt}
  body, .centre {text-align:center}
</style>
</head>
<body>
    <br /><h2>Saisissez votre login et votre mot de passe</h2><br />
    <form method="post" action="">
    <table align=center>
	<tr><td>Login : </font></td>
	<td><input type="text" name="login" size=15></td></tr>
    	<tr><td>Mot de passe : </font></td>
	<td><input type="password" name="password" size=15></td></tr>
	<tr><td class="centre" colspan="2"><input type="submit" name="enter" value="- OK -" style="cursor:hand;color:blue;font:bold;"></td></tr>
    </table><br />
    </form>
<br />Espace Administration protégé
<br />Par Ludovic Giambiasi
</body>
</html>
EOF;
}
?> | 

Enfin, une question à Ludovic que mets-tu dans le fichier ".htaccess" de la zone protégée ?
 A+
A+Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
		
	
 
																	