Session et securité

Signaler
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010
-
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010
-
Bonjour a tous, j'viens pour deux trois conseil sue la securité des variables de Session que je pense a éte souvent soulever sur le forum, ayant pas mal naviguée pour trouver des reponses et en n'ayant trouvé une multitude de reponse je suis un peu perdu...


J'ai trouver plein de reponse pour securisé les variable de session mais je ne c'est pas lesquels utiliser, je suis entrain de faire un site d'art ou les membre peuvent metre a jour leur partie presentaion et leur galerie photo via une formulaire d'authentification, j'pense pas que ce soit un site qui va ce faire hacker toute les semaines, mais il faut quand meme un minimum de securité...


Pouvez vous me conseiller une methode simple et efficace ou du moin respectable... 


J'vous met mon formulaire et mon script avec la session:




<form action="traitement_n_membre.php" target="contenu" method="post">


Votre pseudo : 

Votre mot de passe : 




</form>










case "verification" :
    
    if(isset($_POST['pseudo']) and ($_POST['motdepasse']))
     {  
      $pseudo=addslashes($_POST['pseudo']);
      
      $motdepasse=addslashes(($_POST['motdepasse']));
          $requete "SELECT * FROM utilisateur WHERE login '$pseudo' AND pass = '$motdepasse'";
    
    
    $result = mysql_query($requete) or die(mysql_error());
    
    
      $row=false;
      
    while ($row = mysql_fetch_array($result)) {
    
     $_SESSION['id_user']=$row['id_user'];
     $_SESSION['nom']=$row['nom'];
     $_SESSION['texte']=$row['texte'];
     $_SESSION['texte2']=$row['texte2'];
     $_SESSION['statut']=$row['statut']; 
    
    if ($pseudo == 'corine')
    
    {
      header("Location: corine.php");
      
      }
     
     else
     
     {
     
     header("Location: edit_membre.php");
    
     }   
     
  }
      
     
     
    }if(!$row)
    
   {
    
     echo "Ce compte n'éxiste pas";
     
     echo '<SCRIPT LANGUAGE="JavaScript">
          function redirect() {
       window.location="auth.php"
      }
      setTimeout("redirect()",3000);     </SCRIPT>';
     
    
    
    
   }
   
   break;


 





Merci d'avance!!!

2 réponses

Messages postés
313
Date d'inscription
samedi 6 mai 2006
Statut
Membre
Dernière intervention
10 août 2013
1
Salut ,

 if(isset($_POST['pseudo']) and ($_POST['motdepasse']))

            if(isset($_POST['pseudo']) and isset($_POST['motdepasse'])&&!empty($_POST['motdepasse'])&&!empty($_POST['pseudo']))

Ta oublié un isset pour $_POST['motdepasse'] perso je verifie si ya quelque chose dans une variable sa evite de faire une requette pour rien.

Verifie plutot le nombre de resultat trouver sur ta requette comme ceci

if(mysql_num_rows($row)!=0) { Compte trouver .. } else { Compte inexistant }

Est pourquoi tu le mais dans $row tu peut toujour recuperer dans les $_SESSION la variable que tu veux .

Sinon c'est un peut crade de balancer du javascript comme sa pour redirectionner si ta rien avant utilise directement header(' location ...');

Voilaa @++

Kevin
Messages postés
69
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
25 novembre 2010

Merci pour ta reponse et tes conseils, y a juste un endroit ou je bloque et que je n'arrive pas a mettre en application, c'est recuperé une valeur avec une variable de session au lieu de $row et de verifier le nomvre de resultat avec if(mysql_num_rows($row)!=0) { Compte trouver .. } else { Compte inexistant } et de mettre une variable session au lieu de $rows, quand je le fait il me dit que c'est pas possible decomparé avec une session.

Mon code:

case "verification" :
    
    if(isset($_POST['nom']) and isset($_POST['motdepasse']))
     { 
      $pseudo=addslashes($_POST['nom']);
      
      $motdepasse=addslashes(($_POST['motdepasse']));
          $requete "SELECT * FROM utilisateur WHERE nom '$pseudo' AND pass = '$motdepasse'";
    
    
    $result = mysql_query($requete) or die(mysql_error());
    
    
      $_SESSION[false];
      
     
     if ($_SESSION[false]= mysql_fetch_array($result)) {
    
     $_SESSION['id_user']=$row['id_user'];
     $_SESSION['nom']=$row['nom'];
     $_SESSION['texte']=$row['texte'];
     $_SESSION['texte2']=$row['texte2'];
     $_SESSION['statut']=$row['statut']; 
    
    if ($pseudo == 'corine')
    
    {
      header("Location: corine.php");
      
      }
    
     else
     
     {
     
     header("Location: edit_membre.php");
    
     }   
     
  }
      
     
     
    }if($_SESSION[true])
    
   {
    
     echo "Ce compte n'éxiste pas";
    
     echo '<SCRIPT LANGUAGE="JavaScript">
          function redirect() {
       window.location="auth.php"
      }
      setTimeout("redirect()",3000);     </SCRIPT>';
    
    
    
    
   }
   
   break;

Merci d'avance pour la logique a employer... :)