Authentification d’une zone

Script d’authentification basique (login/mot de passe) gérant la reconnaissance du visiteur grace à la session et à un panneau de connexion "générique".

La structure de la table :

CREATE TABLE `tblAuth `  (   `AuthID` int(11) NOT NULL auto_increment,   `AuthPassword` varchar(255) default NULL,   PRIMARY KEY  (`AuthID`), ) TYPE=MyISAM; 

security_inc.php :

 <? 
session_start(); function f_verifLogin() { if (intval($_SESSION["AUTH"]) == 0) { require("login_inc.php"); } return True; } f_verifLogin(); ?>

pageSecure.php

<? require("security_inc.php"); ?>  <html>
<body>
Bravo vous êtes identifié
Ceci est votre Page de Contenu
</body>
</html>

login_inc.php

<? $AUTH = 0; $li_Login = intval($_POST["ai_Login"]); $ls_Password = $_POST["as_Password"];  if (isset($_POST["as_Action"]) && $li_Login > 0) { 	f_myConnection(); 	 	$SQL = 'SELECT * FROM tblAuth WHERE AuthID = '.$li_Login; 	$lp_Info = f_myQuery($SQL); 	if($lq_Info = mysql_fetch_array($lp_Info)) 	{ 		if ($lq_Info["AuthPassword"] === $ls_Password) 		{ 			$AUTH = $lq_Info["AuthID"]; 			$_SESSION["AUTH"] = $AUTH; 		} 		else 		{ 			$ls_msg = "Mot de Passe incorrect"; 		} 	} 	else 	{ 		$ls_msg = "Login Inconnu"; 	} 	mysql_close(); } else { 	$li_Login = ""; }  if ($AUTH == 0) { ?>    <form name="LoginForm" method="post">
<center><? echo $ls_msg ?></center>
<table cellspacing="0" cellpadding="5" width="400" align="center" border="0">
<tr><td><b>ID Login</b></td><td><input name="ai_Login"> </td></tr>
<tr><td><b>Code</b></td><td><input type="password" name="as_Password"></td></tr>
<tr align="center"><td colspan="2">
<input type="submit" name="as_Action">
</td></tr>
</table>
  </form> <? } ?>

Note :

  • Remarquez ici l’utilisation du comparateur "===" au lieu de l’habituel "==". Ceci est une manière de faire indispensable pour éviter tout problème de sécurité. Vous pouvez en savoir plus : Opérateurs de comparaison
  • les fonctions f_myConnection() et f_myQuery() sont propres à notre framework, il vous suffira de les remplacer par votre méthode de connexion et votre méthode d’exécution de requete SQL
  • Les deux fichiers contenant du html sont les plus simples possibles. Il vous faudra évidemment ajouter votre framework graphique pour leur donner la présentation conforme à celle de votre site

{mos_fb_discuss:2}

Laisser un commentaire