begin process at 2012 02 11 00:14:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Class et Objet ( POO )

 > CLASSE POUR CRÉATION D'UN ESPACE MEMBRE

CLASSE POUR CRÉATION D'UN ESPACE MEMBRE


 Information sur la source

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Class et Objet ( POO ) Niveau :Débutant Date de création :06/08/2004 Vu / téléchargé :8 980 / 1 264

Auteur : yafuka

Ecrire un message privé
Site perso
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Dans cet article je vais réaliser une simple classe PHP de gestion d'espace membre. Ce script comporte le minimum de sécurité, mais n'est pas invioloable. Néanmoins c'est une sécurité suffisante pour un site web du moment ou vous n'êtes pas entrain de construire une page web pour une banque. Remarque si c'était le cas, vous ne seriez pas entrain de lire cet article.

Dans la base de données, les mots de passe des membres seront cryptées. Cela permet de sécuriser les données de vos utilisateurs. Ainsi si un jour une personne de mauvaise foi arrive à pirater votre base de données, vos utilisateurs qui utilisent le meme mot de passe ne seront pas en danger.

Moi j'ai l'habitude d'utiliser la bibliothèque PEAR pour me connecter à ma base de données. Mais vu que tout le monde ne dispose pas de cette bibliothèque (surtout ceux qui ont un hebergement mutualisé), j'utiliserai les fonctions de php.

un exemple de la table des membres
CREATE TABLE `membres` (
`id` INT( 3 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`pseudo` VARCHAR( 15 ) NOT NULL ,
`mdpasse` VARCHAR( 50 ) NOT NULL ,
`email` VARCHAR( 100 ) NOT NULL ,
INDEX ( `id` )
);

Source

  • class cmembres
  • {
  • // objet de connexion a la base de donnees
  • var $db;
  • //
  • // Constructeur de la classe
  • //
  • function cmembres($sqlConn) {
  • $this->db = $sqlConn;
  • }
  • //
  • // fonction permettant de verifier le login et le mot de passe
  • //
  • function verifLogin($nick, $pass) {
  • // on s'assure que le nick ne contient pas de balises html et de caracteres qui peuvent
  • // etre utilisés requête de base de données
  • $nick = strip_tags(trim($nick));
  • // la requete sql
  • $sql = "select mdpasse from membres where pseudo='$nick'";
  • // execution de la requete
  • $res = mysql_query($sql,$this->db) or die( mysql_error() );
  • // si pas de resultat on retourne false car ce utilisateur n'existe pas
  • if ( !mysql_num_rows($res) ) { return false; }
  • // sinon on continu en verifiant le mot de passe
  • $temp = mysql_fetch_array($res);
  • // le mot de passe crypté dans la base de donnees
  • $password = $temp['mdpasse'];
  • // md5 du mot de passe soumis
  • $pass = md5( $pass );
  • // strcmp compare les deux mots de passe et retourne 0 en cas d'égalité
  • if ( !strcmp($pass,$password) ) {
  • return true;
  • }
  • // si on arrive ici c'est que le mot de passe etait invalide
  • return false;
  • }
  • //
  • // fonction permettant de creer une session
  • //
  • function creerSession($nick) {
  • // necessaire lorsqu'on desire utiliser les sessions
  • session_start();
  • // Enregistrement du nom d'utilisateur comme variable de session
  • $_SESSION['user_name'] = $nick;
  • // Enregistrement de l'heure du dernier acces
  • // permet de supprimer une session au bout de x minutes d'inactivité sur le site
  • $_SESSION['last_access'] = time();
  • // une securite de plus, on associe l'adresse ip à la variable de session
  • $_SESSION['user_ip'] = $_SERVER['REMOTE_ADDR'];
  • }
  • //
  • // fonction permettant de supprimer une session
  • //
  • function finSession() {
  • // supression de toutes les variables de session
  • $_SESSION = array();
  • // destruction de la session
  • session_destroy();
  • }
  • //
  • // fonction permettant de verifier si l'utilisateur est identifié
  • //
  • function verifAcces() {
  • //
  • // Si utilisateur pas du tout identifié, donc aucune variable n'existe
  • //
  • if(!isset($_SESSION['last_access']) || !isset($_SESSION['user_ip']) || !isset($_SESSION['user_name']))
  • {
  • $_SESSION = array();
  • return false;
  • }
  • //
  • // Si non actif depuis 15 minutes
  • //
  • if( (time() - $_SESSION['last_access']) > 900)
  • {
  • $_SESSION = array();
  • return false;
  • }
  • //
  • // Si adresse IP différente
  • //
  • if($_SERVER['REMOTE_ADDR'] != $_SESSION['user_ip'])
  • {
  • $_SESSION = array();
  • return false;
  • }
  • //
  • // Sinon tout va bien
  • //
  • $_SESSION['last_access'] = time();
  • return true;
  • }
  • }
class cmembres 
{ 
   //   objet de connexion a la base de donnees 
   var $db; 
    
   // 
   //   Constructeur de la classe 
   // 
   function cmembres($sqlConn)   { 
      $this->db = $sqlConn; 
   } 
    
   // 
   //   fonction permettant de verifier le login et le mot de passe 
   // 
   function verifLogin($nick, $pass)   { 
      //   on s'assure que le nick ne contient pas de balises html et de caracteres qui peuvent 
      //    etre utilisés requête de base de données 
      $nick   = strip_tags(trim($nick)); 
       
      //   la requete sql 
      $sql    = "select mdpasse from membres where pseudo='$nick'"; 
      //   execution de la requete 
      $res   = mysql_query($sql,$this->db) or die( mysql_error() ); 
       
      //   si pas de resultat on retourne false car ce utilisateur n'existe pas 
      if ( !mysql_num_rows($res) )   {   return false;   } 
       
      //   sinon on continu en verifiant le mot de passe 
      $temp   = mysql_fetch_array($res); 
      //   le mot de passe crypté dans la base de donnees 
      $password = $temp['mdpasse']; 
      //   md5 du mot de passe soumis 
      $pass   = md5( $pass ); 
       
      //   strcmp compare les deux mots de passe et retourne 0 en cas d'égalité 
      if ( !strcmp($pass,$password) )   { 
         return true; 
      } 
       
      //   si on arrive ici c'est que le mot de passe  etait invalide 
      return false; 
       
   } 
    
    
    
   //    
   //   fonction permettant de  creer une session 
   // 
   function creerSession($nick)   { 
      //   necessaire lorsqu'on desire utiliser les sessions 
      session_start(); 
       
      //   Enregistrement du nom d'utilisateur comme variable de session 
      $_SESSION['user_name']       = $nick; 
       
      //   Enregistrement de l'heure du dernier acces 
      //   permet de supprimer une session au bout de x minutes d'inactivité sur le site 
      $_SESSION['last_access']   = time(); 
       
      //   une securite de plus, on associe l'adresse ip à la variable de session 
      $_SESSION['user_ip']      = $_SERVER['REMOTE_ADDR']; 
       
   } 
    
    
    
   // 
   //   fonction permettant de supprimer une session 
   // 
   function finSession()   { 
      //   supression de toutes les variables de session 
      $_SESSION   = array(); 
      //   destruction de la session 
      session_destroy(); 
   } 
    
    
   // 
   //   fonction permettant de verifier si l'utilisateur est identifié 
   // 
   function verifAcces()   { 
       
      // 
      //   Si utilisateur pas du tout identifié, donc aucune variable n'existe 
      // 
      if(!isset($_SESSION['last_access']) || !isset($_SESSION['user_ip']) || !isset($_SESSION['user_name'])) 
      { 
           $_SESSION      =   array(); 
         return false; 
      } 
       
      // 
      //   Si non actif depuis 15 minutes 
      // 
      if( (time() - $_SESSION['last_access']) > 900) 
      { 
         $_SESSION      =   array(); 
         return false; 
      } 
       
      // 
      //   Si adresse IP différente 
      // 
      if($_SERVER['REMOTE_ADDR']   !=   $_SESSION['user_ip']) 
      { 
         $_SESSION      =   array(); 
         return false; 
      } 
       
      // 
      //   Sinon tout va bien 
      // 
      $_SESSION['last_access']   =   time();  
      return true; 
   } 

} 

 Conclusion

Et voila !!

ci joint un exemple sinple d'utilisation de cette classe.

http://www.progdebutant.com

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip ESPACE MEMBRE AVEC PLUSIEURS SORTES D'UTILISATEURS
SIMPLE CLASSE UTILISATION BASE DE DONNEES MYSQL
Source avec Zip Source avec une capture EXEMPLE PHP-GTK - GESTIONNAIRE DE CONTACT SIMPLE

 Sources de la même categorie

CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter
Source avec Zip SIMPLETEMPLATE par thunderhunter
Source avec Zip Source avec une capture VOIR QUI VISITE VOTRE SITE par Dariumis
Source avec Zip CLASS SIMPLE CBASEDONNEE par smag42

Commentaires et avis

Commentaire de aquewel le 12/09/2004 21:59:39

elle est bien cette source ?????????

c pour kan la mise a jour ???

Commentaire de yafuka le 13/09/2004 12:11:08

tu veux dire l'ecrire avec php5 !?

Commentaire de stormgts le 15/11/2004 02:32:20

Une petit mis a jour PHP5 serait pas mal effectivement :)

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales