cs_machmacha
Messages postés97Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention28 mai 2010
-
2 mai 2007 à 12:57
martins13
Messages postés66Date d'inscriptionlundi 10 avril 2006StatutMembreDernière intervention19 juin 2008
-
4 mai 2007 à 18:04
bonjour,
j'ai une requête simple sur php la voilà:
$sql = mysql_query("SELECT *
FROM test
WHERE login='".$_POST['login']."'
AND pass='".$_POST['pass']."'");
et lorsque je lance le navigateur et je retre le login et le mot de passe je clik sur ok il m'affiche l'erreur suivant :
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #3' at line 1
j'ai testé le requête sur mysql est ça marche, est ce que quelqu'un a une idée la desu merci.
martins13
Messages postés66Date d'inscriptionlundi 10 avril 2006StatutMembreDernière intervention19 juin 2008 4 mai 2007 à 10:34
Salut!!
Essaye de mettre tes champs $_POST['login'] et $_POST['pass'] dans des variables. Ca peut venir de là.
$login=$_POST['login'];
$pass=$_POST['pass'];
$sql = mysql_query("SELECT *
FROM test
WHERE login='".$login."'
AND pass='".$pass."'");
medelidrissi
Messages postés180Date d'inscriptionjeudi 21 août 2003StatutMembreDernière intervention26 novembre 20072 2 mai 2007 à 17:28
Bonjour,
C'est pas trop clair,
1- Verifie que tu as bien pu établir une connexion avec le serveur MYSQL
2- Verifie que les champs $_POST['login'] et $_POST['pass'] sont bien ceux envoyés par ton formulaire.
3- Essaye de visualiser ta requête pour voir s’il n'y a pas qlq chose qui cloche
echo "SELECT *
FROM test
WHERE login='".$_POST['login']."'
AND pass='".$_POST['pass']."'";
Bonne programmation.
Cordialement medelidrissi
<hr />En Informatique, rien n'est impossible. Mais, ce n'est pas toujours évident.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 2 mai 2007 à 19:44
Salut,
J'ai pas la réponse à ton problème, mais je sais comment faire pour me connecter sans connaitre ni login ni mot de passe. Je rentre n'importe quel login et ça comme mot de passe :
' OR ''='
Si je connais le login d'un admin, ça me suffit pour me connecter à sa place.
> mysql_real_escape() > c'est pas uniquement pour faire joli.
Sinon, pour la réponse à ton problème, ce n'est visiblement pas la requête qui déconne (la syntaxe semble correct malgré la MONUMENTALE faille de sécurité).
Faudrait voir à quoi ressemble ton script.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 4 mai 2007 à 17:45
Ouais, mais alors
$login=$_POST['login'];
$pass=$_POST['pass'];
Bon sang, mais tout le monde s'en fout de la sécurité ? Vous vous en cognez tous qu'on puisse se connecter sans connaitre le pass d'un user ?
C'est quand même hallucinant quoi !
Mais protégez vos variables POST avant de les balancer dans votre requête, c'est quand même pas sorcier !
Vous n’avez pas trouvé la réponse que vous recherchez ?
martins13
Messages postés66Date d'inscriptionlundi 10 avril 2006StatutMembreDernière intervention19 juin 2008 4 mai 2007 à 17:50
Je débute en PHP, je lui donnait une solution à son problème après pour le reste...La protection des variables POST m'intéresse, si tu veux bien expliquer.
neigedhiver
Messages postés2480Date d'inscriptionjeudi 30 novembre 2006StatutMembreDernière intervention14 janvier 201119 4 mai 2007 à 17:53
Ben je l'ai déjà fait... dans mon premier message... Après, suffit de lire la doc de php, ça me parait être une base...
J'ai donné ce qu'il fallait saisir pour se connecter sans mot de passe (j'ai testé).
J'ai donné le nom de la fonction php qui permet de protéger.
Après... Faut se prendre un peu par la main quand on débute...