IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

securite faible d'une class


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Points : 47
    Points
    47
    Par défaut securite faible d'une class
    salut tt le monde :

    j'ai prepare une class login pour l'utilisateur , d'apres qlq avis des amis sur le web presque tous parlent des erreur FATAL au niveau de securite alors je veux votre avis ,et si c'est vrai ,pouviez vous m'indequer les erreurs ,et si vous voulez bien m'aider a rendre mon code plus securisee merci voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <?php
    session_start();
     
    class mysql{
     
    		private $host="localhost";
    		private $user="root";
    		private $pass="";
    		private $database="vv";
     
    		function __construct(){
     
    			mysql_connect($this->host, $this->user, $this->pass);
    			mysql_select_db($this->database);
    		}
     
    		function sql(){
     
    			$username=$_POST['nom'];
    			$password=sha1($_POST['password']);
     
    			$req="SELECT * FROM utilisateur WHERE nom='$username' AND password='$password'";
    			$query=mysql_query($req);
    			$rows=mysql_num_rows($query);
     
    			if($rows==1){
     
    			$_SESSION['username']="username";
    			$_SESSION['password']="password";
    			header("location:admin.php");
    			}else{
    			echo"il y a un erreur";
    			}
     
    		}
     
     
    }
    $use=new mysql;
    $use->sql();
     
    ?>

  2. #2
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    premiere remarque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $username=$_POST['nom'];
    $password=sha1($_POST['password']);
    tu récupères tes variables sans les sécuriser...
    deuxième remarque : tu fais appel à des variables POST dans ta classe, es tu sure de leurs existence quand tu instancies ton objet ? pourquoi ne pas les passer en paramètres à ta méthode sql() ?!
    troisième remarque tant qu'à faire de l'objet utilise PDO plutôt que mysql.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Points : 1 022
    Points
    1 022
    Par défaut
    il semble compliqué de gérer une class BBD, avec un autoConstructeur gérant la liaison a la bdd.

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Points : 47
    Points
    47
    Par défaut
    salut vorace
    a vrai dire je suis presque NULL dans ce qui concerne la conception de la securite .
    mais je veux comprendre une chose qu'on parle de la securite ,la on parle des menaces sur mon site web qui est heberger dans un server , vous voyez pas avec moi que cette tache de securite normalement c'est au server d'hebergement d'on se occuper??? parceque mes fichiers sont sur son disque dur ? oubien il y a des truc php (des fichier comme j ai entendu parle de shell.php) qui renvoi des donnees et des infos proprietaire de site web cible?
    je sais pas si j'ai bien explique ca..
    mais bon j'esperes comprendre comment profitant d'une syntaxe mal code pour avoir acces a des donnees prive et quels sont les risques?
    une autre question :
    vous m'avez dit :tu récupères tes variables sans les sécuriser...
    pouviez vous me donner un exemple de securite de ces varaibles?
    et merci

  5. #5
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Question: pourquoi faire une classe MySQL quand il existe PDO ?

Discussions similaires

  1. destruction d'une classe qui herite de CDialog
    Par philippe V dans le forum MFC
    Réponses: 2
    Dernier message: 03/02/2004, 17h39
  2. Réponses: 14
    Dernier message: 15/01/2004, 01h15
  3. Conception d'une classe parente
    Par VincentB dans le forum Langage
    Réponses: 9
    Dernier message: 24/06/2003, 17h28
  4. Variable d'une Classe Ancêtre
    Par Génie dans le forum Langage
    Réponses: 3
    Dernier message: 18/09/2002, 19h24
  5. Sortir un typedef d'une classe
    Par Theophil dans le forum C++Builder
    Réponses: 13
    Dernier message: 03/07/2002, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo