[ Index ]
 

Code source de SPIP 1.8.3

Accédez au Source d'autres logiciels libres | Soutenez Angelica Josefina !

title

Body

[fermer]

/ecrire/ -> inc_auth_spip.php3 (source)

   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  ?>


Généré le : Thu Feb 22 22:27:47 2007 par Balluche grâce à PHPXref 0.7