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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
<?
class auth
{
var $user;
var $passwd;
var $page;
var $name_session;
var $redir_time;
function auth() // Constructeur
{
$this->user = $_REQUEST["user"]; // Recupere le nom d'utilisateur courant
$this->passwd = $_REQUEST["passwd"]; // Recupere le mot de passe courant
$this->page = $_SERVER["PHP_SELF"]; // Recupere le nom de la page
$this->name_session = "administration"; // Nom de la session
$this->redir_time = 1500; // Temps de la redirection en ms
session_start(); // Creer la session
if (!$this->is_admin()) // Verifie si l'utilisateur est deja logger
{
if ($_REQUEST["auth"] <> 1) // Verifie si le formulaire doit etre validé
{
// Formulaire
echo "<form action='$this->page?auth=1' method=post>
<b>Nom d'utilisateur : <input type=text maxlength=30 name=user>
<p>Mot de passe : <input type=password maxlength=12 name=passwd>
<p><input type=submit value=Valider></form>";
die(); // Arrete le chargement de la page
}
else // Validation du formulaire
{
$this->valid_auth();
}
}
}
function valid_auth()
{
if($this->user != "" and $this->passwd != "") // Verifie que les champs ne sont pas vides
{
$this->passwd = md5($this->passwd); // Crypte le mot de passe
$result = mysql_query("SELECT passwd FROM comptes WHERE user='$this->user'"); // Selectionne le mot de passe suivant le login
$row = mysql_fetch_array($result);
$vpasswd = $row["passwd"];
if($vpasswd == $this->passwd) // Verifie si le mot de passe est correct
{
$admin = base6_encode("$this->user:$this->passwd"); // Encode les informations
$_SESSION["$this->name_session"] = $admin;
header("location: $this->page"); // Recharge la page
}
else // Si le mot de passe est incorrect
{
echo "<script> setTimeout(\"window.location=\'$this->page\';\", $this->redir_time); </script>"; // Redirige apres 1.50 sec
echo "Identifiants invalides...";
}
}
else // Si un ou les champs sont vides
{
echo "<script> setTimeout(\"window.location=\'$this->page\';\", $this->redir_time); </script>";
echo "Les champs sont vides...";
}
die(); // Arrete le chargement de la page
}
function is_admin()
{
$admin = $_SESSION["$this->name_session"];
$admin = base64_decode($admin); // Decode les informations
$admin = explode(":", $admin); // Separe le mot de passe du login
$user = $admin[0]; // Login
$passwd = $admin[1]; // Mot de passe
if ($user != "" and $passwd != "") { // Verifie que les informations du cookie ne sont pas vides
$query = mysql_query("SELECT passwd FROM comptes WHERE user='$user'"); // Selectionne le mot de passe suivant le login
$row = mysql_fetch_array($query);
$vpasswd = $row["passwd"];
if($vpasswd == $passwd && $vpasswd != "") { // Verifie que le mot de passe est correct et qu'il n'est pas vide
return 1; // Retourne 1, l'utilisateur est deja logger
}
}
return 0; // Retourne 1, l'utilisateur n'est pas logger
}
function delog()
{
session_unset(); // Detruit la session
header("location: $this->page"); // Recharge la page
}
function get_name()
{
$admin = $_SESSION["$this->name_session"];
$admin = base64_decode($admin); // Decode le cookie
$admin = explode(":", $admin); // Separe le mot de passe du login
$user = $admin[0]; // Login
echo $user; // Affiche le login
}
}
$admin= new auth;
?> |
Partager