Authentification php via formulaire
Résolu/Fermé
BestAblaz!
Messages postés
706
Date d'inscription
samedi 13 mars 2010
Statut
Membre
Dernière intervention
14 mai 2014
-
7 mai 2014 à 19:46
BestAblaz! Messages postés 706 Date d'inscription samedi 13 mars 2010 Statut Membre Dernière intervention 14 mai 2014 - 12 mai 2014 à 21:47
BestAblaz! Messages postés 706 Date d'inscription samedi 13 mars 2010 Statut Membre Dernière intervention 14 mai 2014 - 12 mai 2014 à 21:47
A voir également:
- Authentification php via formulaire
- Formulaire de réclamation facebook - Guide
- Double authentification google - Guide
- Easy php - Télécharger - Divers Web & Internet
- Partager des photos via un lien - Guide
- Communication impossible via ssl ps4 - Forum Jeux vidéo
3 réponses
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
7 mai 2014 à 22:08
7 mai 2014 à 22:08
Bonjour,
Déjà :
C'pa logique, un Or au lieu du AND serait mieux je pense, car là une seule condition concluant passerait ta validation.
Deuxièmement cette validation est inutile en soit, vu que tu fait déjà une requête sql avec les données, si elle ne retourne rien le login ne fonctionne pas, sinon le login/mdp est bon.
Troisièmement, grosse faille injection sql, tu n'échappe pas les apostrophes, de faite un hacker peut entrer assez simplement.
Quatrièmement ton form est en GET, mais tu tente de récupérer tu POST.
Cinquièmement, ton else avant l'include du fichier de connexion devrait avoir des accolades. (Sinon, même avec des données vide, il fera la requête sql, sans le fichier de connexion qui lui aurait été bien 'conditionné'
Sixièmement, il faut que tu stock quelque chose en Session, sinon tu ne saura pas si il est connecté ou non, et tu ne pourra donc pas rediriger les non-connecté sur la page de login dans les autres pages (Rien ne m'empêche d'accéder directement à admins.html (Il faudra donc du PHP sur ce fichier)
C'est pour le moment tout ce que je vois :)
Pour les prochaines fois, essaye de décrire le comportement qui ne va pas, ça aide un peu pour ceux qui tâcheront de t'aider.
Déjà :
if($Loginentre!=$Login AND $Motdpentre!=$Motdp)
C'pa logique, un Or au lieu du AND serait mieux je pense, car là une seule condition concluant passerait ta validation.
Deuxièmement cette validation est inutile en soit, vu que tu fait déjà une requête sql avec les données, si elle ne retourne rien le login ne fonctionne pas, sinon le login/mdp est bon.
Troisièmement, grosse faille injection sql, tu n'échappe pas les apostrophes, de faite un hacker peut entrer assez simplement.
Quatrièmement ton form est en GET, mais tu tente de récupérer tu POST.
Cinquièmement, ton else avant l'include du fichier de connexion devrait avoir des accolades. (Sinon, même avec des données vide, il fera la requête sql, sans le fichier de connexion qui lui aurait été bien 'conditionné'
Sixièmement, il faut que tu stock quelque chose en Session, sinon tu ne saura pas si il est connecté ou non, et tu ne pourra donc pas rediriger les non-connecté sur la page de login dans les autres pages (Rien ne m'empêche d'accéder directement à admins.html (Il faudra donc du PHP sur ce fichier)
C'est pour le moment tout ce que je vois :)
Pour les prochaines fois, essaye de décrire le comportement qui ne va pas, ça aide un peu pour ceux qui tâcheront de t'aider.
BestAblaz!
Messages postés
706
Date d'inscription
samedi 13 mars 2010
Statut
Membre
Dernière intervention
14 mai 2014
14
8 mai 2014 à 07:49
8 mai 2014 à 07:49
Merci beaucoup ca fonctionne mieux !
Pourriez vous m'expliquer le sixièmement avec la Session et le php qu'il faudrait mettre sur admins.html ?
Et il y a un tout petit probleme :
Quand je saisi un mauvais mot de passe et un mauvais login il me dit "Mauvais login ou mot de passe veuillez ressayer." C'est normal, mais quand je saisi que le login il me dit :
"Vous n'avez pas saisie votre mot de passe veuillez ressayer. Mauvais login ou mot de passe veuillez ressayer."
Et quand je saisi que le mot de passe il me dit :
Vous n'avez pas saisie votre login veuillez ressayer. Mauvais login ou mot de passe veuillez ressayer.
J'aimerai que le troisième echo n'affiche pas son message("Mauvais login ou mot de passe veuillez ressayer.") si un login ou mot de passe n'a pas été saisi
Voila aussi les rectificatifs du php que vous m'avez expliqué plus haut :
<?php
$Loginentre = $_POST['Login'];
$Motdpentre = $_POST['Motdp'];
if(empty($Loginentre))
{
echo "Vous n'avez pas saisie votre login veuillez <a href='Formadminlogin.html'>ressayer</a>.";
}
else if(empty($Motdpentre))
{
echo "Vous n'avez pas saisie votre mot de passe veuillez <a href='Formadminlogin.html'>ressayer</a>.";
}
else
{
include("Connexion.php");
$rqt = "SELECT Login,Nomadmin,Mdp FROM admins
WHERE Login = '". $Loginentre ."'
AND Mdp = '". $Motdpentre ."'";
$rqtexe = mysql_query($rqt)
or die("erreur requete");
$rsltrqt = mysql_fetch_array($rqtexe);
$NomAdmin= $rsltrqt['Nomadmin'];
$Login=$rsltrqt['Login'];
$Motdp=$rsltrqt['Mdp'];
}
if($Loginentre!=$Login OR $Motdpentre!=$Motdp)
{
echo " Mauvais login ou mot de passe veuillez <a href='Formadminlogin.html'>ressayer</a>.";
}
else
{
echo "Vous êtes connecté en tant que <b>".$NomAdmin."</b></h3>.<br/>Gestion du site <a href='admins.html'>ici</a>.";
}
?>
Merci beaucoup ca m'aide enormement !
Pourriez vous m'expliquer le sixièmement avec la Session et le php qu'il faudrait mettre sur admins.html ?
Et il y a un tout petit probleme :
Quand je saisi un mauvais mot de passe et un mauvais login il me dit "Mauvais login ou mot de passe veuillez ressayer." C'est normal, mais quand je saisi que le login il me dit :
"Vous n'avez pas saisie votre mot de passe veuillez ressayer. Mauvais login ou mot de passe veuillez ressayer."
Et quand je saisi que le mot de passe il me dit :
Vous n'avez pas saisie votre login veuillez ressayer. Mauvais login ou mot de passe veuillez ressayer.
J'aimerai que le troisième echo n'affiche pas son message("Mauvais login ou mot de passe veuillez ressayer.") si un login ou mot de passe n'a pas été saisi
Voila aussi les rectificatifs du php que vous m'avez expliqué plus haut :
<?php
$Loginentre = $_POST['Login'];
$Motdpentre = $_POST['Motdp'];
if(empty($Loginentre))
{
echo "Vous n'avez pas saisie votre login veuillez <a href='Formadminlogin.html'>ressayer</a>.";
}
else if(empty($Motdpentre))
{
echo "Vous n'avez pas saisie votre mot de passe veuillez <a href='Formadminlogin.html'>ressayer</a>.";
}
else
{
include("Connexion.php");
$rqt = "SELECT Login,Nomadmin,Mdp FROM admins
WHERE Login = '". $Loginentre ."'
AND Mdp = '". $Motdpentre ."'";
$rqtexe = mysql_query($rqt)
or die("erreur requete");
$rsltrqt = mysql_fetch_array($rqtexe);
$NomAdmin= $rsltrqt['Nomadmin'];
$Login=$rsltrqt['Login'];
$Motdp=$rsltrqt['Mdp'];
}
if($Loginentre!=$Login OR $Motdpentre!=$Motdp)
{
echo " Mauvais login ou mot de passe veuillez <a href='Formadminlogin.html'>ressayer</a>.";
}
else
{
echo "Vous êtes connecté en tant que <b>".$NomAdmin."</b></h3>.<br/>Gestion du site <a href='admins.html'>ici</a>.";
}
?>
Merci beaucoup ca m'aide enormement !
BestAblaz!
Messages postés
706
Date d'inscription
samedi 13 mars 2010
Statut
Membre
Dernière intervention
14 mai 2014
14
8 mai 2014 à 09:56
8 mai 2014 à 09:56
En fait j'aimerai que le login et le mot de passe, donc que la session de l'admin soit conservé dans une variable php comme ca il n'aurait pas besoin de ressaisir son login/motdepasse dans un formulaire post pour que un script php execute une p'tite requete de suppression ou autres.
Ce serait bien que les scripts php qui font des requetes de suppression/modification/choix d'activité.. sur un compte qui est choisi par l'admin, autorise ce dernier a executer la requete ou non en fonction de la connection pour accèder à admins.html(dans admins.html il y aura les liens vers les formulaires suppression/modif/choix d'activité) et donc qu'est ce qu'on met en php dans le admins.html ?
Ce serait bien que les scripts php qui font des requetes de suppression/modification/choix d'activité.. sur un compte qui est choisi par l'admin, autorise ce dernier a executer la requete ou non en fonction de la connection pour accèder à admins.html(dans admins.html il y aura les liens vers les formulaires suppression/modif/choix d'activité) et donc qu'est ce qu'on met en php dans le admins.html ?
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
8 mai 2014 à 11:13
8 mai 2014 à 11:13
Ton else que tu viens de changer ne va pas assez loin en faite, il faut le fermer à la fin en gros, il ne fera pas ta deuxième vérification si l'un des champs est manquant du coup.
Lors de ta connexion, tu doit stocker une session, commence par un session_start() pour initialiser le système de session pour remplit s'en une.
(ex : $_SESSION["is_connected"]=1; )
Ensuite, toutes tes pages devront être en .php au lieu du .html, sinon tu ne pourra pas vérifie si il est connecté ou non.
admins.html deviendra donc admins.php.
Tu y testera tout en haut l'existance de la session, ça te donnera un truc dans le genre :
Pour les injections sql, regarde du côté de mysql_real_escape_string.
Lors de ta connexion, tu doit stocker une session, commence par un session_start() pour initialiser le système de session pour remplit s'en une.
(ex : $_SESSION["is_connected"]=1; )
Ensuite, toutes tes pages devront être en .php au lieu du .html, sinon tu ne pourra pas vérifie si il est connecté ou non.
admins.html deviendra donc admins.php.
Tu y testera tout en haut l'existance de la session, ça te donnera un truc dans le genre :
session_start(); if(!$_SESSION["is_connected"])header("location: Formadminlogin.html");
Pour les injections sql, regarde du côté de mysql_real_escape_string.
BestAblaz!
Messages postés
706
Date d'inscription
samedi 13 mars 2010
Statut
Membre
Dernière intervention
14 mai 2014
14
9 mai 2014 à 10:44
9 mai 2014 à 10:44
Salut deso d'avoir mis du temps a repondre,
Je teste ca la mais j'ai pas trop bien compris je me renseigne sur google pour les sessions ! merci
Je teste ca la mais j'ai pas trop bien compris je me renseigne sur google pour les sessions ! merci
BestAblaz!
Messages postés
706
Date d'inscription
samedi 13 mars 2010
Statut
Membre
Dernière intervention
14 mai 2014
14
12 mai 2014 à 21:47
12 mai 2014 à 21:47
C'est bon ca marche niquel merci Nhay!