Connexion mot de passe crypté sha1

omlaly - 24 nov. 2012 à 14:13
 omlaly - 2 déc. 2012 à 21:13
Bonjour

Après avoir fait l'inscription, je développe la connexion. Mais je rencontre un problème avec le mot de passe. Je l'ai crypté en sha1.

Mais lorsque de la connexion, j'aimerais qu'il vérifie l'identifiant ET le mot de passe. Etant donné que dans la base de données le mot de passe est crypté, il ne le reconnait pas.
Si j'enlève dans la requête SQL la vérification du mot de passe, tout marche mais le problème est que si quelqu'un met l'identifiant de l'administrateur SANS mot de passe, il se connecte !!!

Je vous mets le code :

$champ = sha1($_POST['champ']);

$query mysql_query("SELECT champ FROM table WHERE champ_bdd '$champ'  ") or die('message d'erreur'.mysql_error()); 


Alors ma question est : Comment reconnaître le mot de passe converti en sha1 dans la base de données depuis le formulaire ?

En attendant, je continue mes recherches...
Cordialement

50 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
30 nov. 2012 à 13:32
Bonjour,

$identifiant_connexion=mysql_real_escape_string(htmlspecialchars(stripcslashes($_POST['$identifiant_connexion'])));
Si $identifiant_connexion est vide, c'est vraisemblablement que $_POST['$identifiant_connexion'] est vide.
Pourquoi un nom avec un $ dans le nom du champ de la form ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
0
Bonjour,

Ca y est, ça marche, j'ai réussi !!!!!!!!!!

Voici les codes :

page inscription :
$password_inscription_sha1 = mysql_real_escape_string(htmlspecialchars(stripcslashes(sha1("C7wA9bYm".$_POST['password_inscription']))));


page connexion :
$password_connexion_sha1 = mysql_real_escape_string(htmlspecialchars(stripcslashes(sha1("C7wA9bYm".$_POST['password_connexion']))));


Est-ce que c'est bien protégé ? Si non, quelle améliorations je pourrais faire pour optimiser la protection ?

Cordialement
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
1 déc. 2012 à 01:48
Bonjour,

La fonction sah1 te retournera déjà une chaine clean, pas besoin de faire les fonctions de protections htmlspecialchars & co.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
0
Bonjour

Ok mais si je laisse comme ça, ça va ? Ca n'enlève pas la protection du sha1 ?

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
2 déc. 2012 à 02:23
Bonjour,

Non, pas de soucis, c'est juste que les appels aux fonctions ralentiront un peu le script PHP, mais n’apporteront pas de sécurité supplémentaire, mais rien de grave.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
0
Bonjour,

OK, je laisse comme ça.

Petite question qui n'a plus rien à voir avec ça : j'attaque les variables de session pour véhiculer des informations dans toutes les pages (surtout pour ne pas perdre la connexion du membre.

Dans la page de connexion, j'ai rajouté ça pour enregistrer l'identifiant, le mot de passe et l'adresse mail du membre :
// Sessions - $_SESSION = Variables de session
$_SESSION['identifiant_connexion'] = $identifiant_connexion; 
$_SESSION['password_connexion'] = $password_connexion; 
$_SESSION['email'] = $email;


Jusque là c'est bon ?

Après, je voudrais récupérer les informations sur une page que j'ai découpé en trois parties (header, partie droite et partie gauche) (j'ai rassemblé les informations pour que ça soit plus simple à gérer dans le futur comme le CSS).
Donc, je le fais dans le fichier header mais je n'arrive pas à faire que les variables soient transmises entre plusieurs pages.

Peux-tu me donner un exemple STP pour que je m'en inspire ?

Merci d'avance
Cordialement
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
2 déc. 2012 à 16:43
Bonjour,

Je ne maitrise pas vraiment les sessions, désolé.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
0
Bonjour,

C'est pas grave.

Sinon, j'ai une autre question :
Je souhaiterais mettre du code JAVASCRIPT dans un echo en PHP, c'est possible ?

Je t'explique :

Cette fonction JAVASCRIPT a pour but d'afficher un div pour remplacer l'autre div.

En fait, j'ai une fenêtre POP-UP avec un formulaire de connexion sur laquelle après trois tentatives, j'affiche un message "Vous avez effectuer au moins trois tentatives de connexion. Mot de passe perdu ?", jusque là, c'est bon !!!

Je voudrais que quand l'utilisateur clique sur "Mot de passe perdu ?", le formulaire de connexion se masque et que le formulaire de récupération du mot de passe s'affiche.

Mon problème est de savoir si c'est possible d'appeler une fonction JAVASCRIPT depuis un echo en PHP.

Je te donne mon code (qui marche pas ; ça m'affiche juste ça : " au lieu de remplacer le div "formulaire_connexion" par le div "formulaire_connexion_recuperation_password" .

echo '<script type="text/javascript">document.getElementById("formulaire_connexion").style.display="none"; document.getElementById("formulaire_connexion_recuperation_password").style.display="block";><center>Vous avez effectuer au moins trois tentatives de connexion.
Mot de passe perdu ?</center></script> "';

As tu une idée ?

En attendant ta réponse, je continue mes recherches...
Cordialement
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
2 déc. 2012 à 19:22
Bonjour,

Je ne maitrise pas trop JS, mais, rien ne t'empêche de mettre du code Js dans le HTML généré.

Après, si ça ne fonctionne pas comme prévu, voir le JS en cause. (www.javascriptfr.com)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
0
Bonjour,

En fait, je faisais trop compliqué, pour info je te donne le code PHP :
echo "
Adresse e-mail,
    

";



Par contre, je n'ai pas réussi à cacher le formulaire de connexion. Je te montre le code PHP qui ne marche pas :

echo "

";

J'ai posté, comme tu me l'as proposé, sur le site de javascript. Je te donne l'adresse du message : http://www.javascriptfr.com/forum/sujet-JAVASCRIPT-DANS-ECHO-PHP_1617398.aspx#1 .

Cordialement

Avez-vous une idée ?
En attendant vos réponses, je continue mes recherches...
Cordialement
0
Rejoignez-nous