Session et securité

cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010 - 22 mai 2008 à 11:40
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010 - 22 mai 2008 à 14:36
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

kiki67100 Messages postés 313 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 10 août 2013 1
22 mai 2008 à 13:44
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
0
cs_DjChat Messages postés 69 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 novembre 2010
22 mai 2008 à 14:36
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... :)
0
Rejoignez-nous