dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Cote SQL sur numerique


From: Eldy
Subject: Re: [Dolibarr-dev] Cote SQL sur numerique
Date: Fri, 27 Feb 2004 21:39:27 +0100
User-agent: Mozilla Thunderbird 0.5 (Windows/20040207)

Rodolphe Quiédeville wrote:

Le Vendredi 27 Février 2004 11:59, Eric Seigne a écrit :
On Thu, Feb 26, 2004 at 06:01:19PM +0100, Rodolphe Quiédeville wrote:
Salut,

Destiné à Eric mais intéresse tout le monde, pourquoi dans
societe.class.php tu cotes dans la requete sql l'id qui est un numérique
?

<<<<<<< variant A
    $sql .= " WHERE s.idp = ".$this->id;
    $sql .= " AND s.fk_stcomm = st.id";

variant B
    $sql .= " WHERE s.idp = '".$this->id . "'";
======= end

La variant A est la mienne et la B la tienne, je ne comprends pas pourquoi
tu mets des cotes autour de $this->id ?
Hello,
la 1ere réponse est par habitude

la seconde est que j'ai déjà eu des bugs lourds de conséquences à cause
de cascades, imagine que t'a  un bug dans $this->id qui deviendrait par
exemple null ça donnerait une requete
WHERE s.idp = AND s.fk_stcomm = st.id
et je préfère avoir
WHERE s.idp = '' AND s.fk_stcomm = st.id

la 3°  c'est que comme php ne  gère pas les type  $this->id peut porter
n'importe quoi, y compris du texte

valà  en fait si  vous ne  voulez pas  de quotes  autour des  champs qui
"devraient"  etres  des nombres  je  me  plie  à votre  décision,  c'est
beaucoup  plus  une question  d'habitude  de  ma part,  systèmatiquement
j'encadre de quotes (et je addslashes aussi tous les champs pour essayer
d'eviter  les  écrasements  de  requetes  SQL)  même  si  ce  n'est  pas
indispensable  ... et à  vrai dire  je suis  heureux que  tu me  pose la
question parceque je me demande maintenant ce qu'il vaut mieux faire :o)

un expert SQL dans la salle avant que je reprenne mes cours de l'iut ?

De mon coté dans une vieille version Mysql il n'acceptait pas les cotes sur des numériques (ou alors postgresql ma mémoire flanche) c'est pour cela que mon étonnement est né, disons que je préfère sans mais je n'irais pas corriger si tu en mets cela ne me gene pas du moment que c'est fonctionnel.


_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://mail.nongnu.org/mailman/listinfo/dolibarr-dev

Mon point de vue...

En effet un bug peut vite générer une requete avec un id vide mais dans ce cas, cela doit générer une erreur
de syntaxe ?
Par contre pour la sécurité (problème d'injections SQL), la quote est utile mais seulement si le addslashes est aussi appliqué sur le champ. Sans quoi ile est toujours possible d'injecter une variable qui ferme la quot suivi d'une condition toujours vrai pour forcer un
comportement anormal de la requete.
Le problème c'est que les quot + addslashes, ca devient vite lourd à écrire.
Les appliquer sur toutes les requetes en rapports avec le login (select dans la tables des utilisateurs pour vérifier la présence/validité du compte, etc...) est donc important car ce sont les premières pages utilisées pour une tentative d'accès par injection SQL. Pour les autres, j'avoue que c'est une question de patiente que je n'ai pas...


Autre question :
Un IRC ne serait-il pas utile ? Peut-etre plus adaptée qu'une ML ? C'est juste une idée dans l'air...


--
Laurent Destailleur for AWStats, AWBot and CVSChangeLogBuilder.
---------------------------------------------------------------
EMail: address@hidden
AWStats : http://awstats.sourceforge.net
AWBot : http://awbot.sourceforge.net
CVSChangeLogBuilder : http://cvschangelogb.sourceforge.net





reply via email to

[Prev in Thread] Current Thread [Next in Thread]