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
Vous devez être connecté pour publier un commentaire.