[SPIP Zone] r29600 - /_plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php

* nicolas@hoizey.com tapuscrivait, le 02/07/2009 18:16:

Author: nicolas@hoizey.com
Date: Thu Jul 2 18:16:50 2009
New Revision: 29600

Log:
sql_quote() est mon ami (bonne suggestion de Cedric)

Modified:
    _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php

Modified: _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle..php

--- _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php (original)
+++ _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php Thu Jul 2 18:16:50 2009
@@ -2,7 +2,7 @@
function action_clevermail_list_subscriber_toggle_dist() {
   $securiser_action = charger_fonction('securiser_action', 'inc');
   $arg = $securiser_action();
- $lsr_id = $arg;
+ $lsr_id = sql_quote($arg);

Sauf que Cédric, il t'as indiqué de mettre le sql_quote dans la requête et non avant pour pouvoir envisager un audit de code automatique...

--
RealET

Le 2 juil. 09 à 19:28, RealET a écrit :

* nicolas@hoizey.com tapuscrivait, le 02/07/2009 18:16:

Author: nicolas@hoizey.com
Date: Thu Jul 2 18:16:50 2009
New Revision: 29600
Log:
sql_quote() est mon ami (bonne suggestion de Cedric)
Modified:
   _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php
Modified: _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle..php

--- _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php (original)
+++ _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php Thu Jul 2 18:16:50 2009
@@ -2,7 +2,7 @@
function action_clevermail_list_subscriber_toggle_dist() {
  $securiser_action = charger_fonction('securiser_action', 'inc');
  $arg = $securiser_action();
- $lsr_id = $arg;
+ $lsr_id = sql_quote($arg);

Sauf que Cédric, il t'as indiqué de mettre le sql_quote dans la requête et non avant pour pouvoir envisager un audit de code automatique...

Ah bon ? Je l'avais pas compris comme ça. Pourquoi le faire dès le début empêcherait cet "audit de code automatique" ? En quoi consisterait-il ?

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr

* Nicolas Hoizey tapuscrivait, le 02/07/2009 22:53:

Le 2 juil. 09 à 19:28, RealET a écrit :

* nicolas@hoizey.com tapuscrivait, le 02/07/2009 18:16:

Author: nicolas@hoizey.com
Date: Thu Jul 2 18:16:50 2009
New Revision: 29600
Log:
sql_quote() est mon ami (bonne suggestion de Cedric)
Modified:
   _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php
Modified: _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle..php

--- _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php (original)
+++ _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php Thu Jul 2 18:16:50 2009
@@ -2,7 +2,7 @@
function action_clevermail_list_subscriber_toggle_dist() {
    $securiser_action = charger_fonction('securiser_action', 'inc');
  $arg = $securiser_action();
- $lsr_id = $arg;
+ $lsr_id = sql_quote($arg);

Sauf que Cédric, il t'as indiqué de mettre le sql_quote dans la requête et non avant pour pouvoir envisager un audit de code automatique...

Ah bon ? Je l'avais pas compris comme ça.

Je cite :
«
Une bonne règle que j'applique systématiquement est de *toujours* protéger chaque variable PHP qui apparait dans un sql_xx, et ce, même si la variable a subi un intval 2 lignes plus tôt.
Cela permet de voir immédiatement qu'une requête est sûre, sans avoir à lire le code en amont.
Et ça ouvre la porte à des outils de verif automatisés.
»
Sans avoir à lire le code en amont me fait comprendre que le sql_quote est donc dans la même ligne.

Pourquoi le faire dès le début empêcherait cet "audit de code automatique" ? En quoi consisterait-il ?

No sé. Je ne fais qu'exprimer ma compréhension de la citation.

--
RealET

RealET a écrit :

Sans avoir à lire le code en amont me fait comprendre que le sql_quote est donc dans la même ligne.

c'est surtout que tu sql_quote *dans* un sql_xx et *pas* dans un sql_xxq

or si tu as sql_quote ta variable préalablement, comment savoir au moment de son insertion dans le sql_xxq qu'il va y avoir un problème ?

Le 2 juil. 09 à 23:18, denisb a écrit :

RealET a écrit :

Sans avoir à lire le code en amont me fait comprendre que le sql_quote est donc dans la même ligne.

c'est surtout que tu sql_quote *dans* un sql_xx et *pas* dans un sql_xxq
or si tu as sql_quote ta variable préalablement, comment savoir au moment de son insertion dans le sql_xxq qu'il va y avoir un problème ?

Je suis convaincu ! :wink:

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr

Nicolas Hoizey a écrit :

c'est surtout que tu sql_quote *dans* un sql_xx et *pas* dans un sql_xxq
or si tu as sql_quote ta variable préalablement, comment savoir au moment de son insertion dans le sql_xxq qu'il va y avoir un problème ?

Je suis convaincu ! :wink:

ou alors en l'appelant $varq au lieu de $var...

JL

Le 3 juil. 09 à 09:28, JLuc a écrit :

Nicolas Hoizey a écrit :

c'est surtout que tu sql_quote *dans* un sql_xx et *pas* dans un sql_xxq
or si tu as sql_quote ta variable préalablement, comment savoir au moment de son insertion dans le sql_xxq qu'il va y avoir un problème ?

Je suis convaincu ! :wink:

ou alors en l'appelant $varq au lieu de $var...

Mouais, bof.

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr

Le 2 juil. 09 à 22:53, Nicolas Hoizey a écrit :

Le 2 juil. 09 à 19:28, RealET a écrit :

* nicolas@hoizey.com tapuscrivait, le 02/07/2009 18:16:

Author: nicolas@hoizey.com
Date: Thu Jul 2 18:16:50 2009
New Revision: 29600
Log:
sql_quote() est mon ami (bonne suggestion de Cedric)
Modified:
  _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php
Modified: _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle..php

--- _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php (original)
+++ _plugins_/clevermail/2_0/action/clevermail_list_subscriber_toggle.php Thu Jul 2 18:16:50 2009
@@ -2,7 +2,7 @@
function action_clevermail_list_subscriber_toggle_dist() {
  $securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
- $lsr_id = $arg;
+ $lsr_id = sql_quote($arg);

Sauf que Cédric, il t'as indiqué de mettre le sql_quote dans la requête et non avant pour pouvoir envisager un audit de code automatique...

Ah bon ? Je l'avais pas compris comme ça. Pourquoi le faire dès le début empêcherait cet "audit de code automatique" ?

Parce que, comme je le disais :
si tu protege à chaque fois dans l'appel a sql_xx, il suffit de lire l'appel a sql_xx pour voir qu'il est protégé et sur, sinon il faut remonter le code pour trouver les variables. A l'usage il est beaucoup plus simple et rapide de ne pas à avoir à comprendre le code pour savoir qu'il est sur.

Dans le cadre d'un outil automatisé, protéger les variables dans l'appel a sql_xx permet aussi une vérification auto par un simple grep en checkant simplement que chaque variable apparait bien protégée dans l'appel de la fonction.
Sinon, cela suppose une analyse syntaxique en amont, c'est beaucoup plus lourd.

Cédric

Le 3 juil. 09 à 10:07, cedric.morin@yterium.com a écrit :

Parce que, comme je le disais :
si tu protege à chaque fois dans l'appel a sql_xx, il suffit de lire l'appel a sql_xx pour voir qu'il est protégé et sur, sinon il faut remonter le code pour trouver les variables. A l'usage il est beaucoup plus simple et rapide de ne pas à avoir à comprendre le code pour savoir qu'il est sur.

Dans le cadre d'un outil automatisé, protéger les variables dans l'appel a sql_xx permet aussi une vérification auto par un simple grep en checkant simplement que chaque variable apparait bien protégée dans l'appel de la fonction.
Sinon, cela suppose une analyse syntaxique en amont, c'est beaucoup plus lourd.

OK, compris.

-Nicolas

--
Nicolas HOIZEY
Blog : http://www.gasteroprod.com/
Photos : Nicolas Hoizey | Flickr