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
| <?php
//On démarre les sessions
session_start();
//Début de la tamporisation de sortie
ob_start();
include "header.php";
if(isset($_POST['identifiant']) && isset($_POST['password'])){
//Fonction de génération de chaine de caractère
function random($nombre, $maj){
$string = "";
if ($maj == true){
$chaine = "evvIcZhcOwlrLYqiXUEkpwm6eS8ettEO65Jtpi1jY6d9E2R03jQc6cF5J5ok6Hw4U79q4QmHzKf81L1hVbnsohsVE9BMRYOf1UgI";
}
else{
$chaine = "ba7et3pjvyifhf548rhd96peo0qf9xpcdqrrwa3k6y4hryq072u2088qlkl9ju7t3oyp44jww8imwty0gy1mgtka3py2o40kstd9";
}
srand((double)microtime()*1000000);
for($i=0; $i<$nombre; $i++){
$string .= $chaine[rand()%strlen($chaine)];
}
return $string;
}
//Fonction de chiffrage de strings
function chiffre($texte){
$key = 'JhshsyTTSvyF8373';
$iv_size = mcrypt_get_iv_size(MCRYPT_XTEA, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
return base64_encode(mcrypt_encrypt(MCRYPT_XTEA, $key, $texte, MCRYPT_MODE_ECB, $iv));
}
$erreurs_login = array();
if($_POST['password'] != "admin"){
$erreurs_login[] = "Le mot de passe entré n'est pas correct !";
}
if($_POST['identifiant'] != "admin"){
$erreurs_login[] = "L'identifiant entré n'est pas correct !";
}
//Si il n'y a pas d'erreurs...
if(empty($erreurs_login)){
//On génere un token de sécurité via la fonction random ( voir plus haut )
$token = random(32, false);
$_SESSION['token'] = $token;
//On crypte le mot de passe pour le stocker dans le cookie
$password = chiffre('MonMdP');
//On met un cookie d'une durée d'une minute
setCookie('motdepasse', $password, time() + 60, null, null, false, true);
//On enregistre les infos pour conserver un historique des connexions
$handle = fopen('./logs/logs.txt', 'a+');
fputs($handle, "IP : ".$_SERVER['REMOTE_ADDR']."\r\n");
fputs($handle, "Identifiant : ".$_POST['identifiant']."\r\n");
fputs($handle, "TIME : ".time()."\r\n");
fputs($handle, "\r\n");
fputs($handle, "===============\r\n");
fclose($handle);
//On redirige vers la page d'accueil protegée
Header('Location: admin.php');
}
//Sinon, on affiche les erreurs
else{
//On affiche les erreurs, s'il y en a
echo '<div id="content"><p style="color:red;">';
foreach($erreurs_login as $e) {
echo ''.$e.'<br />'."\n";
}
echo '</p>';
echo '<br /><a href="saisie.php">Réessayer ?</a></div>';
}
}
else{
//Si $_POST n'est pas présent, on redirige vers la page de saisie
Header('Location: saisie.php');
}
// Arrête la tamporisation de sortie
ob_end_flush();
?> |
Partager