begin process at 2012 05 31 03:27:11
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

mdp PHP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

mdp PHP

mardi 21 décembre 2010 à 23:23:37 | mdp PHP

bibidu69

Bonjour, j'ai un problème de mot de passe dans mon code PHP le voici :
Code PHP :
<script type="text/javascript"><?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
        if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

                $base = mysql_connect ('localhost', 'user', 'mdp');
                mysql_select_db ('membre', $base);

                // on teste si une entrée de la base contient ce couple login / pass
                $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"';
                $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
                $data = mysql_fetch_array($req);

                mysql_free_result($req);
                mysql_close();

                // si on obtient une réponse, alors l'utilisateur est un membre
                if ($data[0] == 1) {
                        session_start();
                        $_SESSION['login'] = $_POST['login'];
                        header('Location: membre.html');
                        exit();
                }
                // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
                elseif ($data[0] == 0) {
                        $erreur = 'Compte non reconnu.';
                }
                // sinon, alors la, il y a un gros problème <img src="./images/smilies/icon_smile.gif" alt=":)" title="Smile" />
                else {
                        $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
                }
        }
        else {
                $erreur = 'Au moins un des champs est vide.';
        }
}
?>
</script>


je voudrait sécuriser mes info :
Code PHP :
 $base = mysql_connect ('localhost', 'user', 'mdp');
pour que mes visiteur un peu curieux ne puiss pas voir mon mdp ...
merci de m'aider
mercredi 22 décembre 2010 à 00:04:52 | Re : mdp PHP

cod57

bonsoir

//avant

$sql = 'SELECT count(*) FROM membre
WHERE login="'.mysql_escape_string($_POST['login']).'"
AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"'
;

//aprés
//fait des variables intermediares ça evitera d'injecter direct dans la requete
//injection sql
//strip_tags pour le xss

$login=mysql_real_escape_string(strip_tags($_POST['login']));
$pass=mysql_real_escape_string(strip_tags($_POST['pass']));
$pass=md5($pass);

$sql = 'SELECT count(*) FROM membre
WHERE login="'.$login.'"
AND pass_md5="'.$pass.'"'
limit 1; /* le premier trouvé est c'est tout */
mercredi 22 décembre 2010 à 00:07:51 | Re : mdp PHP

cod57

mais des exit; ou die();
voir header('Location:http://????');exit; si le test est négatif
n'affiche pas les erreurs ...
mercredi 22 décembre 2010 à 01:42:26 | Re : mdp PHP

phpAnonyme

Je comprends pas :
Cod57 a écrit

fait des variables intermediares ça evitera d'injecter direct dans la requete



En quoi :
$login=mysql_real_escape_string($_POST['login']);
SELECT count(*) FROM membre WHERE login='".$login."'

est différent de :
SELECT count(*) FROM membre WHERE login='".mysql_real_escape_string($_POST['login')."'

??




______________________________________________________________________
mercredi 22 décembre 2010 à 09:48:47 | Re : mdp PHP

Lyle56


Bonjour;

Premier cas : tu range $_POST['login'] dans une variable $login "nettoyée" que tu peut réutilisé tel que dans tes requêtes.
Deuxième cas : Tu devras utilisé le code à chaque fois que tu voudras passer ta variable $_POST['login'] dans une requête.

Ensuite pour "sécurisé" tes mots de passe etc

Créer un fichier config.php qui contient ceci
DEFINE('SRV_NAME','localhost');
DEFINE('SRV_USER','user');
DEFINE('SRV_PASS','mdp');
DEFINE('BSE_WORK','membre');

en début de fichier tu ajoute require_once('config.php');
Tu remplace alors

$base = mysql_connect ('localhost', 'user', 'mdp');
mysql_select_db ('membre', $base);

par

$base = mysql_connect (SRV_NAME, SRV_USER,SRV_PASS);
mysql_select_db (BSE_WORK, $base);


Avantage, si tu change ton mot de passe de base de données; tu n'auras à le modifié que dans config.php; cela sera pris en compte ensuite dans tout les scripts qui utilise la connexion.

Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
mercredi 22 décembre 2010 à 17:40:24 | Re : mdp PHP

bibidu69

Code PHP :
Premier cas : tu range $_POST['login'] dans une variable $login "nettoyée" que tu peut réutilisé tel que dans tes requêtes. 
Deuxième cas : Tu devras utilisé le code à chaque fois que tu voudras passer ta variable $_POST['login'] dans une requête. 


c'est a dire que je doit faire comment ?
jeudi 23 décembre 2010 à 15:59:56 | Re : mdp PHP

Lyle56

Bonjour,

Tout dépend de la longueur de ton code ... et du nombre de requête ...

L'idéal reste encore de faire,

Code PHP :
$login=mysql_real_escape_string($_POST['login']);
SELECT count(*) FROM membre WHERE login='".$login."' 


Pour prendre de bonne habitude.

Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
jeudi 23 décembre 2010 à 21:23:21 | Re : mdp PHP

bibidu69

D'accord merci de votre aide.
jeudi 23 décembre 2010 à 21:25:20 | Re : mdp PHP

bibidu69

j'ai aussi un autre problème avec le script :
Code PHP :
<?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 
   if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { 
 
      $base = mysql_connect ('localhost', 'name', 'mdp'); 
      mysql_select_db ('membre', $base); 
 
      // on teste si une entrée de la base contient ce couple login / pass
      $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string(md5($_POST['pass'])).'"'; 
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
      $data = mysql_fetch_array($req); 
 
      mysql_free_result($req); 
      mysql_close(); 
 
      // si on obtient une réponse, alors l'utilisateur est un membre
      if ($data[0] == 1) { 
         session_start(); 
         $_SESSION['login'] = $_POST['login']; 
         header('Location: membre.php'); 
         exit(); 
      } 
      // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
      elseif ($data[0] == 0) { 
         $erreur = 'Compte non reconnu.'; 
      } 
      // sinon, alors la, il y a un gros problème :)
      else { 
         $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
      } 
   } 
   else { 
      $erreur = 'Au moins un des champs est vide.'; 
   }  
}  
?>


sur ma page quand je m'identifie (j'ai fait mon compte admin) et bien sa me marque sa :

Warning: session_start() [function.session-start]: open(/mnt/169/sdd/f/2/thenavy/sessions/sess_0819b82c099ad34c2b0b1977ae68ebb3, O_RDWR) failed: No such file or directory (2) in /mnt/169/sdd/f/2/thenavy/index.php on line 19

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/169/sdd/f/2/thenavy/index.php:19) in /mnt/169/sdd/f/2/thenavy/index.php on line 19

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/169/sdd/f/2/thenavy/index.php:19) in /mnt/169/sdd/f/2/thenavy/index.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at /mnt/169/sdd/f/2/thenavy/index.php:19) in /mnt/169/sdd/f/2/thenavy/index.php on line 21

Warning: Unknown(): open(/mnt/169/sdd/f/2/thenavy/sessions/sess_0819b82c099ad34c2b0b1977ae68ebb3, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/169/sdd/f/2/thenavy/sessions) in Unknown on line 0

Merci de m'aider
vendredi 24 décembre 2010 à 09:36:30 | Re : mdp PHP

Lyle56

Bonjour,

La fonction session_start() doit être au tout début de ton script.
comme ceci :

Code PHP :
<?php
session_start();
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') { 




Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.

1 2

Cette discussion est classée dans : code, php, mysql, data, mdp


Répondre à ce message

Sujets en rapport avec ce message

Mysql et Php [ par Game69 ] Game69 vous salutJe débute en php en me servant d'un bouquin et je me heurte à un problème de syntaxe qui est un exemple donné dans ce livre.Voici le champ Text BDD Mysql et execution code PHP [ par cecelecyborg ] Bonjour à tous, Je cherche à executer du code php contenu dans un champ Text d'une base de données MySQL. Est-ce que cela est faisable, et si oui, u indentification et connexion grâce à un formulaire [ par auremy ] Bonjour,J'ai crée un formulaire html qui permet à l'utilisateur de saisir son login et son mot de passe. La validation envoye ses informations à une p erreur qui reste introuvable pour moi! [ par CaBBaLe ] Slt,Merci beaucoup à tous ceux qui poste des sources et des tutos, cela m'aide enormement car c'est avec ca que j'apprend.Mais là je vais vous demande probleme entre php et javscript [ par nico606 ] Slt voila mon script qui a du mal a marcher bref il ne fonctionne pas voila les sources: j'ai creer un service permetant d'ecouter la radio sur son si Comment récuperer le résultat d'une requete dans une variable en php? [ par neilero ] SalutJe n'arrive pas à récuperer le résultat d'une requete dans une variable en php.je ne vois pas ce qu'il ne va pas://requete permettant de recupere deux pb dans mon code php!! [ par dev10 ] voilà mon prbolème, si squelqu'un peut m'aiderWarning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\....doc.php on l Le filtre ne fonctionne pas [ par Joleroy ] Salut a tous!J ai cree une page appelé Kits.php qu j appelle par Kit.php?tipekit=type_du_kitVoici son code:$type=$_GET['typekit'];$connect = mysql_con Problème de formulaire dynamique [ par labouse ] Bonjour,Bon je vais essayer d'être clair: j'ai une table mysql avec nom prénom et un code service je fais une requete pour afficher tout le monde pour changer la valeur de input avec XMLHTTP...... [ par LaTatadu91 ] Bonjour a tous, voila je cherche a changer les valeurs de plusieurs input situés ds un tableau sans recharger la page sur un onchange de balise :


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,655 sec (3)

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