[ Index ] |
|
Code source de SPIP 1.8.3 |
1 <?php 2 3 /***************************************************************************\ 4 * SPIP, Systeme de publication pour l'internet * 5 * * 6 * Copyright (c) 2001-2005 * 7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * 8 * * 9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * 10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * 11 \***************************************************************************/ 12 13 14 // 15 // Ce fichier ne sera execute qu'une fois 16 if (defined("_ECRIRE_INC_AUTH_SPIP")) return; 17 define("_ECRIRE_INC_AUTH_SPIP", "1"); 18 19 class Auth_spip { 20 var $nom, $login, $email, $md5pass, $md5next, $alea_futur, $statut; 21 22 function init() { 23 return true; 24 } 25 26 // Verification du mot passe crypte (javascript) 27 function verifier_challenge_md5($login, $mdpass_actuel, $mdpass_futur) { 28 // Interdire mot de passe vide 29 if ($mdpass_actuel == '') return false; 30 31 $query = "SELECT * FROM spip_auteurs WHERE login='".addslashes($login)."' AND pass='".addslashes($mdpass_actuel)."' AND statut<>'5poubelle'"; 32 $result = spip_query($query); 33 34 if ($row = spip_fetch_array($result)) { 35 $this->nom = $row['nom']; 36 $this->login = $row['login']; 37 $this->email = $row['email']; 38 $this->statut = $row['statut']; 39 $this->md5pass = $mdpass_actuel; 40 $this->md5next = $mdpass_futur; 41 return true; 42 } 43 return false; 44 } 45 46 // Verification du mot passe en clair (sans javascript) 47 function verifier($login, $pass) { 48 // Interdire mot de passe vide 49 if ($pass == '') return false; 50 51 $query = "SELECT alea_actuel, alea_futur FROM spip_auteurs WHERE login='".addslashes($login)."'"; 52 $result = spip_query($query); 53 if ($row = spip_fetch_array($result)) { 54 $md5pass = md5($row['alea_actuel'] . $pass); 55 $md5next = md5($row['alea_futur'] . $pass); 56 return $this->verifier_challenge_md5($login, $md5pass, $md5next); 57 } 58 return false; 59 } 60 61 function lire() { 62 return true; 63 } 64 65 function activer() { 66 if ($this->statut == 'nouveau') { // nouvel inscrit 67 $connect_statut = 68 (lire_meta('accepter_inscriptions') == 'oui') ? 69 '1comite' : '6forum'; 70 spip_query("UPDATE spip_auteurs SET statut='$connect_statut' 71 WHERE login='".addslashes($this->login)."'"); 72 } 73 if ($this->md5next) { 74 include_ecrire ("inc_session.php3"); 75 // fait tourner le codage du pass dans la base 76 $nouvel_alea_futur = creer_uniqid(); 77 $query = "UPDATE spip_auteurs SET alea_actuel = alea_futur, ". 78 "pass = '".addslashes($this->md5next)."', alea_futur = '$nouvel_alea_futur' ". 79 "WHERE login='".$this->login."'"; 80 @spip_query($query); 81 } 82 } 83 } 84 85 86 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Thu Feb 22 22:27:47 2007 | par Balluche grâce à PHPXref 0.7 |