Connexion SQL avec authentification
Résolu/Fermé
mehdi9833
Messages postés
88
Date d'inscription
vendredi 16 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2010
-
26 janv. 2010 à 11:05
{psycho.} Messages postés 101 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 4 septembre 2010 - 3 févr. 2010 à 14:09
{psycho.} Messages postés 101 Date d'inscription mardi 22 décembre 2009 Statut Membre Dernière intervention 4 septembre 2010 - 3 févr. 2010 à 14:09
A voir également:
- Connexion SQL avec authentification
- Gmail connexion - Guide
- Gmail connexion autre compte - Guide
- Double authentification google - Guide
- Connexion chromecast - Guide
- Site inaccessible n'autorise pas la connexion - Guide
8 réponses
{psycho.}
Messages postés
101
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
4 septembre 2010
8
26 janv. 2010 à 12:14
26 janv. 2010 à 12:14
Ta requête pour vérifier les identifiants de l'utilisateur se trouve dans un if dont la condition est
Or, la variable $sql n'a pas l'air d'être déclarée et encore moins initialisée avant ce if, en conséquence, je doute que la condition soit jamais validée. A l'inverse, ta variable $con n'est utilisée qu'une seule fois, et non vérifiée... ne voulais-tu pas mettre :
à la place ?
if ($sql) { $sql= "select ... }
Or, la variable $sql n'a pas l'air d'être déclarée et encore moins initialisée avant ce if, en conséquence, je doute que la condition soit jamais validée. A l'inverse, ta variable $con n'est utilisée qu'une seule fois, et non vérifiée... ne voulais-tu pas mettre :
if ($con) { $sql= "select ... }
à la place ?
merci psycho de m'avoir répondu, effectivement je me suis tromper lors de la saisie, méme avec la réctification il ne se passe rien...merci
{psycho.}
Messages postés
101
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
4 septembre 2010
8
28 janv. 2010 à 17:20
28 janv. 2010 à 17:20
Deuxième erreur de saisie :
Retire l'accolade fermante juste au-dessus de ton else, et met-la après le bloc. En effet, en la mettant avant, il ne rentrera dans ton else que si les informations de connexion à la BDD sont fausses, et non si la connexion est bonne mais les identifiants de l'utilisateur faux.
Normalement tu devrais obtenir ton message d'erreur si l'utilisateur n'existe pas ou se plante de mot de passe. Si tu l'obtiens aussi avec de bons identifiants, vérifie ta comparaison de mots de passe, je doute qu'il soit stocké en clair dans ta BDD, utilise md5() ou autre pour l'encrypter de la même manière avant comparaison :
Accessoirement, je vois au moins deux détails qui m'apparaissent comme des failles de sécurité :
- le stockage du mot de passe dans $_SESSION
- l'utilisation de $_SESSION['identifiant'] directement dans ta requête sql. Utilise des fonctions comme https://www.php.net/manual/fr/function.addslashes.php sinon tu risques de transformer ton script en invitation à l'injection sql.
else //si mauvais mot de passe { echo "<center><br><h3><br> Utilisateur / mot de passe inconnu, veuillez réessayer <br><br><br>"; echo "<a href='pageauthen.html'>Retour à l'accueil</a>"; session_destroy(); }
Retire l'accolade fermante juste au-dessus de ton else, et met-la après le bloc. En effet, en la mettant avant, il ne rentrera dans ton else que si les informations de connexion à la BDD sont fausses, et non si la connexion est bonne mais les identifiants de l'utilisateur faux.
Normalement tu devrais obtenir ton message d'erreur si l'utilisateur n'existe pas ou se plante de mot de passe. Si tu l'obtiens aussi avec de bons identifiants, vérifie ta comparaison de mots de passe, je doute qu'il soit stocké en clair dans ta BDD, utilise md5() ou autre pour l'encrypter de la même manière avant comparaison :
if (md5($_SESSION['pass']) == $mdp)
Accessoirement, je vois au moins deux détails qui m'apparaissent comme des failles de sécurité :
- le stockage du mot de passe dans $_SESSION
- l'utilisation de $_SESSION['identifiant'] directement dans ta requête sql. Utilise des fonctions comme https://www.php.net/manual/fr/function.addslashes.php sinon tu risques de transformer ton script en invitation à l'injection sql.
mehdi9833
Messages postés
88
Date d'inscription
vendredi 16 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2010
4
29 janv. 2010 à 10:06
29 janv. 2010 à 10:06
cela ne marche tjr pas,voici mn code html (image.html) où j'apel l'image :
<html>
<head>
<title> Image article </title>
</head>
<body>
<form id="form1" enctype="multipart/form-data" action="script-image.php" method="post">
<input type="hidden" name="max_file_size" value="1000">
Envoyer ce fichier : <input name="fichier" type="file">
<input type="submit" value="Envoyer le fichier">
</form>
et voici mon script (script-image.html) que j'apel :
// Parametres de connexion
include("fonctions.php");
// Connexion au SGBD Mysql
mysql_connect($serveur,$admin,$pass) or die ('Erreur : '.mysql_error() );
// Selection de la base des donnees
mysql_select_db($base);
$image=$_POST['fichier'];
$name=$_FILES['fichier']['name'];
$type=$_FILES['fichier']['type'];
//On affiche les champs et l'image
echo "Nom du fichier :".$name;
echo "<br>Type de fichier :".$type;
echo '<br><img src='.$Image.'>';
// on crée une variable contenant le répertoire de destination
$uploadpath="C:\Program Files\EasyPHP5.3.0\www";
// on déplace le fichier du dossier temporaire vers le dossier de destination
move_uploaded_file($uploadpath.$name);
?>
MERciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
<html>
<head>
<title> Image article </title>
</head>
<body>
<form id="form1" enctype="multipart/form-data" action="script-image.php" method="post">
<input type="hidden" name="max_file_size" value="1000">
Envoyer ce fichier : <input name="fichier" type="file">
<input type="submit" value="Envoyer le fichier">
</form>
et voici mon script (script-image.html) que j'apel :
// Parametres de connexion
include("fonctions.php");
// Connexion au SGBD Mysql
mysql_connect($serveur,$admin,$pass) or die ('Erreur : '.mysql_error() );
// Selection de la base des donnees
mysql_select_db($base);
$image=$_POST['fichier'];
$name=$_FILES['fichier']['name'];
$type=$_FILES['fichier']['type'];
//On affiche les champs et l'image
echo "Nom du fichier :".$name;
echo "<br>Type de fichier :".$type;
echo '<br><img src='.$Image.'>';
// on crée une variable contenant le répertoire de destination
$uploadpath="C:\Program Files\EasyPHP5.3.0\www";
// on déplace le fichier du dossier temporaire vers le dossier de destination
move_uploaded_file($uploadpath.$name);
?>
MERciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
{psycho.}
Messages postés
101
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
4 septembre 2010
8
1 févr. 2010 à 07:59
1 févr. 2010 à 07:59
Là j'avoue que j'ai plus trop d'idée... tu n'as même pas un message d'erreur?
mehdi9833
Messages postés
88
Date d'inscription
vendredi 16 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2010
4
1 févr. 2010 à 09:20
1 févr. 2010 à 09:20
non mais apparemment j'ai repris un programme d'un site, j'arrive à uploader l'image et l'insérer dans un dossier image mais pas à l'afficher.
voici mes message d'erreur :
Notice: Undefined index: fichier1 in C:\Program Files\EasyPHP5.3.0\www\projet gireaud\test\test image 1\upload.php on line 16
Le fichier a bien été upload
Warning: readdir(): 3 is not a valid Directory resource in C:\Program Files\EasyPHP5.3.0\www\projet gireaud\test\test image 1\upload.php on line 37
MERCIIIIIIIIIIIIIIIII
voici mes message d'erreur :
Notice: Undefined index: fichier1 in C:\Program Files\EasyPHP5.3.0\www\projet gireaud\test\test image 1\upload.php on line 16
Le fichier a bien été upload
Warning: readdir(): 3 is not a valid Directory resource in C:\Program Files\EasyPHP5.3.0\www\projet gireaud\test\test image 1\upload.php on line 37
MERCIIIIIIIIIIIIIIIII
mehdi9833
Messages postés
88
Date d'inscription
vendredi 16 octobre 2009
Statut
Membre
Dernière intervention
23 mars 2010
4
1 févr. 2010 à 16:08
1 févr. 2010 à 16:08
voila j'ai trouver la solution aprés des heures de recherches !!!!!!!
<html>
<head>
<title> Image article </title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="fichier" size="30">
<br><br>
<input type="submit" name="upload" value="Uploader">
</form>
<?php
include("fonctions.php");
mysql_connect($serveur,$admin,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($base);
if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'images/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
$nomFichier = $_FILES['fichier']["name"] ;
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo '<br>Le fichier <b>'.$name_file.'</b> a bien été chargé';
// ouvre le repertoire
$pointeur = opendir($content_dir) ;
$fichier = $nomFichier ;
$image = '<img src="'.$content_dir.'/'.$fichier.'"/>' ;
echo '<br><br>';
echo $image;
}
?>
</body>
</html>
<html>
<head>
<title> Image article </title>
</head>
<body>
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="fichier" size="30">
<br><br>
<input type="submit" name="upload" value="Uploader">
</form>
<?php
include("fonctions.php");
mysql_connect($serveur,$admin,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($base);
if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'images/'; // dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];
$nomFichier = $_FILES['fichier']["name"] ;
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo '<br>Le fichier <b>'.$name_file.'</b> a bien été chargé';
// ouvre le repertoire
$pointeur = opendir($content_dir) ;
$fichier = $nomFichier ;
$image = '<img src="'.$content_dir.'/'.$fichier.'"/>' ;
echo '<br><br>';
echo $image;
}
?>
</body>
</html>
{psycho.}
Messages postés
101
Date d'inscription
mardi 22 décembre 2009
Statut
Membre
Dernière intervention
4 septembre 2010
8
3 févr. 2010 à 14:09
3 févr. 2010 à 14:09
Ok! Bah content que tu aies trouvé, et encore désolé pour les temps de réponse!