Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1840 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Requete php BDD

n°1863520
marquito
Posté le 19-03-2009 à 13:21:48  profilanswer
 

Reprise du message précédent :
Il n'a pas moyen de vérifier si mon code comporte un risque ?
On m'a parlé de ça pour faire un test

Code :
  1. $Prixmini = (is_int($_GET['Prixmini'])) ? $_GET['Prixmini'] : 0;
  2. $Prixmini = (is_int($_GET['Prixmaxi'])) ? $_GET['Prixmaxi'] : 0;
  3. if (!empty($Prixmini) && !empty($Prixmini)) {
  4.   $search .= " AND (a.ad_price BETWEEN '" . $Prixmini . "' AND '" . $Prixmini . "')";
  5. }


Citation :


Si ils doivent être de type string, penses à ajouter des addslashes() pour éviter de faire planter ta requête.


Qu'est-que t'en penses ? et qu'est-que tu me conseil

mood
Publicité
Posté le 19-03-2009 à 13:21:48  profilanswer
 

n°1863522
stealth35
Posté le 19-03-2009 à 13:23:06  profilanswer
 

t'as essayé mon code ?

n°1863535
rufo
Pas me confondre avec Lycos!
Posté le 19-03-2009 à 13:53:29  profilanswer
 

J'ai dit que oui, ton code comporte des risques et je t'ai donné, dans mon post précédent, des indications pour y remédier.
Tester si une valeur est bien un entier attendu, ça peut le faire, mais t'as banané pour les valeurs qui sont des chaînes de caractères (genre quand tu recherches sur un mot clé dans ta bd où dans ton formulaire d'authentification).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1863538
rufo
Pas me confondre avec Lycos!
Posté le 19-03-2009 à 13:55:40  profilanswer
 

stealth35 a écrit :

t'as essayé mon code ?


Ton code est sujet au sql injection  :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1863543
stealth35
Posté le 19-03-2009 à 14:06:51  profilanswer
 

rufo a écrit :


Ton code est sujet au sql injection  :o


 
la n'est pas telment la question pour le moment c'est le resultat
 
rajouter un foreach avec échapper les valeurs ca mange pas de pain

n°1863551
rufo
Pas me confondre avec Lycos!
Posté le 19-03-2009 à 14:28:35  profilanswer
 

ben si, c'était sa question si son code était sujet à du sql injection... ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1863575
marquito
Posté le 19-03-2009 à 14:48:10  profilanswer
 

J'ai juste un petit bug je ne sais pas si c'est possible de corriger ça ?
Si je rentre dans Mini le chiffre 0 et dans Maxi 1000 il me liste tout même les supérieur à 1000
 
le problème est sur le zéro sinon ça fonctionne parfaitement


Message édité par marquito le 19-03-2009 à 15:30:21
n°1864012
marquito
Posté le 20-03-2009 à 13:42:05  profilanswer
 

J'essaye de réfléchir  :pt1cable: ça proviendrait peut être de la BDD ?

n°1864028
rufo
Pas me confondre avec Lycos!
Posté le 20-03-2009 à 13:58:09  profilanswer
 

J'ai l'impression que t'es pas fait pour la programmation, toi. Si t'as gardé le bout de code qui était :

Code :
  1. $Prixmini = (is_int($_GET['Prixmini'])) ? $_GET['Prixmini'] : 0;
  2. $Prixmini = (is_int($_GET['Prixmaxi'])) ? $_GET['Prixmaxi'] : 0;
  3. if (!empty($Prixmini) && !empty($Prixmini)) {
  4.   $search .= " AND (a.ad_price BETWEEN '" . $Prixmini . "' AND '" . $Prixmini . "')";
  5. }


 
ben c'est normal que ça marche pas. Regardes ce que fait empty() et tu va voir que l'une des 2 conditions du code précédent n'est pas respectée, donc la condition sur les prix n'est pas appliquée. Faut donc modifier un peut le code précédent. Si t'as un brin de logique, ça se fait en qq secondes...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1864074
marquito
Posté le 20-03-2009 à 14:54:55  profilanswer
 

je n'ai pas mis le code que tu me montre je suis resté sur le tiens je ne prends pas de risque je te fais complètement confiance  :ange:  
Je suis comme ça actuellement

Code :
  1. if ($text_search <> "" ) {
  2. $search .= " AND (a.ad_headline LIKE '%$text_search%' OR a.ad_text LIKE '%$text_search%') ";
  3. }
  4. //MODIFICATION
  5. if (!empty($_GET['Prixmini']) && !empty($_GET['Prixmaxi'])) {
  6. $search .= " AND (a.ad_price BETWEEN '" . $_GET['Prixmini']. "' AND '" . $_GET['Prixmaxi'] . "')";
  7. }
  8. //MODIFICATION
  9. if (!empty($_GET['Kmmini']) && !empty($_GET['Kmmaxi'])) {
  10. $search .= " AND (a.ad_kilometrage  BETWEEN '" . $_GET['Kmmini']. "' AND '" . $_GET['Kmmaxi'] . "')";
  11. }
  12. //MODIFICATION
  13. if (!empty($_GET['Motcle'])) {
  14. $search .= " AND a.ad_text LIKE '%".$_GET['Motcle']."%'";
  15. }
  16. $search .= " AND a.published = 1";


Et c'est pas une impression je ne suis pas fait pour la programmation  :pt1cable:

mood
Publicité
Posté le 20-03-2009 à 14:54:55  profilanswer
 

n°1864080
rufo
Pas me confondre avec Lycos!
Posté le 20-03-2009 à 15:05:36  profilanswer
 

t'as pris le temps d'aller recherche sur www.php.net ce que fait empty() au moins?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1864092
marquito
Posté le 20-03-2009 à 15:22:50  profilanswer
 

Ben comme je ne peux pas te le cacher la programmation pour moi c'est du charabia moi je suis plus graphisme

n°1864096
rufo
Pas me confondre avec Lycos!
Posté le 20-03-2009 à 15:29:33  profilanswer
 

ben de 2 choses l'une : où tu laisses tomber la programmation, où tu t'y mets et tu fais des efforts, genre aller sur le site que je t'ai donné pour comprendre ce que fait empty()  http://fr3.php.net/manual/fr/function.empty.php
 
Mais sur ce forum, on n'a pas pour habitude d'aider des assistés qui ne veulent pas faire d'efforts pour comprendre.  :pfff:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°1864102
marquito
Posté le 20-03-2009 à 15:42:36  profilanswer
 

Ne te fâche pas rufo je veux bien essayer de comprendre et faire des efforts (pas de prob) mais comprend aussi que c'est pas si simple la programmation et c'est vrai aussi que l'ont assimile plus vite avec des conseils plutôt que seul

n°1864335
marquito
Posté le 21-03-2009 à 14:08:50  profilanswer
 

:sol:


Message édité par marquito le 21-03-2009 à 14:37:05
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Requête SQL complexe et éviter table temporaireUne requête qui n'est pas tout à fait correcte
[Access] Regrouper plusieurs résultats d'1 requête sur 1 seule ligne?[PHP]Connection BDD easyphp
Bête requete ...Défilement images d'une requete php avec javascript
[résolu] Connexion/déconnexion d'une BDD en PHP, temps d'accèsRequête sur fichier XML comme BDD
Pb de requête Bdd / php[MYSQL] Impossible d'envoyer une requete a la BDD
Plus de sujets relatifs à : Requete php BDD


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR