Vous n'êtes pas identifié(e).
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
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
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
Bonjour
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
Merci , ça marche à la perfection (une fois enlevée l'accolade excédentaire après else). Vous m'avez fait gagner beaucoup de temps.
Hors ligne
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
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
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
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.
c'est le même principe que la solution que je vous ai proposé.
Tout à fait. Merci encore.
Hors ligne