PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 18-05-2011 16:08:12

ky
Membre
Inscription : 18-05-2011
Messages : 1

Fonction pour vérifier les mots de passe et les identifiants.

Bonjour,
Je suis actuellement élève de terminal en spécialité GSI. A la fin de l'année qui est proche nous avons un oral sur un projet. Notre sujet est de créer un extranet au service des établissements. Actuellement nous avons fait les script pour avoir une page de connexion le problème est que lorsque qu'on met un identifiant il n'est pas necessaire de mettre un mot de passe on accède tout de même au site, on peut également ne rien mettre et ça marche. Donc il faudrait une fonction qui permetterait de vérifier la concordance des codes et ne pas acceptés.
Nous étions partis sur une fonction avec un ajout d'erreur mais apparement ce n'est pas necessaire il faudrait une fonction avec return true return false mais nous n'y arrivons pas...
Merci d'avance pour vos propositions.

Hors ligne

#2 18-05-2011 16:21:14

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Fonction pour vérifier les mots de passe et les identifiants.

Saluton,
Idéalement, on stocke les couples identifiant-mot de passe dans une table de base de données.
Et, généralement, les mots de passe y sont cryptés en MD5 ou autre.
Il faudrait nous faire voir le script de ce que vous avez conçu pour qu'on puisse concrètement vous orienter vers une solution qui tienne à peu près la route.

Vous pourriez commencer en vous inspirant de cet article.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 30-06-2011 08:45:54

theyoubot
Membre
Inscription : 30-06-2011
Messages : 13

Re : Fonction pour vérifier les mots de passe et les identifiants.

Je rencontre une problème de même nature, avec un mot de passe stocké en base de données


Voici ce que j'ai fait et qui marche :

- une page motdepasse.php : le visiteur donne son nom et son mot de passe. La table de la base de données est consultée.

- si le couple nom + mot de passe est incorrect, le visiteur est redirigé vers une page d'erreur motdepasseerreur.php. Il peut s'il le souhaite retenter sa chance.

- si le couple nom + mot de passe est correct, le visiteur est redirigé vers une page actualiteAjout.php. Par laquelle il pourra ajouter un enregistrement à la table 'Actualités' de la base de données.


Mon problème :

- appelée directement et sans aucune validation de mot de passe, la page actualiteAjout.php fonctionne.
Donc je voudrais un test du genre

if ($_SESSION['motdepasse']='')
{ header('Location: motdepasseerreur.php');
}

Pour que le visiteur n'ayant pas donné de mot de passe valide soit refoulé et renvoyé sur motdepasseerreur.php

Dernière modification par theyoubot (30-06-2011 08:50:05)

Hors ligne

#4 30-06-2011 09:32:33

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Fonction pour vérifier les mots de passe et les identifiants.

Bonjour


session_start();
// on teste d'abord si la variable existe puis si c'est le cas qu'elle possède une valeur autorisant la navigation au contenu.
// on evite de passer le MDP en session même en sha1 ou md5.
// la variable $_SESSION['is_connected'] est ici en true/false.
if (!isset($_SESSION['is_connected'])){header('Location: motdepasseerreur.php');}else{if (!$_SESSION['is_connected']){header('Location: motdepasseerreur.php');}}
 

Ca devrait aller mieux ainsi dans un premier temps.

++

Dernière modification par Jc (02-07-2011 12:00:55)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#5 02-07-2011 01:53:12

theyoubot
Membre
Inscription : 30-06-2011
Messages : 13

Re : Fonction pour vérifier les mots de passe et les identifiants.

Merci , ça marche à la perfection (une fois enlevée l'accolade excédentaire après else). Vous m'avez fait gagner beaucoup de temps. smile

Hors ligne

#6 02-07-2011 02:03:56

theyoubot
Membre
Inscription : 30-06-2011
Messages : 13

Re : Fonction pour vérifier les mots de passe et les identifiants.

J'ai modifié légèrement cette solution :
- lorsque le couple nom - mot de passe est correct, je charge dans une variable de session le numéro de ligne correspondant (numéro de la ligne où se trouve le mot de passe dans la table des mots de passe de la base de données)  :

$_SESSION['motdepasseok'] = $numerodeligne;

Pour que la page actualiteAjout.php refoule les visiteurs qui ne se sont pas identifiés, il suffit d'un :

    if (!isset($_SESSION['motdepasseok']))
        {
           header('Location: motdepasseerreur.php');
        }
    else

Car je suppose qu'il est inutile de vérifier si cette variable possède une valeur. Si elle existe, cela prouve que le visiteur s'est identifié avec succès.

Dernière modification par theyoubot (02-07-2011 02:06:27)

Hors ligne

#7 02-07-2011 12:03:31

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Fonction pour vérifier les mots de passe et les identifiants.

Bonjour,

Il n'y a pas d'accolade excédentaire. Dans le premier else, il y a un autre if..
Et c'est le même principe que la solution que je vous ai proposé. J'ai juste mis une variable oui/non à la place d'une variable entière dans votre cas.

++


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#8 02-07-2011 19:30:48

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Fonction pour vérifier les mots de passe et les identifiants.

Jc a écrit :

Il n'y a pas d'accolade excédentaire. Dans le premier else, il y a un autre if..

Que theyoubot a remplacé par un elseif{


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#9 03-07-2011 16:28:36

theyoubot
Membre
Inscription : 30-06-2011
Messages : 13

Re : Fonction pour vérifier les mots de passe et les identifiants.

J'avais d'abord lu :" Que theyoubot soit remplacé par un elseif{ " et j'ai cru à quelques malédictions tirées du Seigneur des Anneaux.

Jc a écrit :

c'est le même principe que la solution que je vous ai proposé.

Tout à fait. Merci encore.

Hors ligne

Pied de page des forums