Les Guides
Nos Jeux
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
| < Précédent |
|---|
Mis à jour (Jeudi, 03 Mai 2007 13:57)