Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Zuckerman
J aimerais parsé les param provenant d'un formulaire pour empecher l injection sql
quelle est la meilleure méthode en perl ?
As-tu essayé d'utiliser le flag -T ? :-) (taint mode)
Sinon, le module DBI contient une méthode quote() qui permet de quoter systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
J aimerais parsé les param provenant d'un formulaire pour empecher
l injection sql
quelle est la meilleure méthode en perl ?
As-tu essayé d'utiliser le flag -T ? :-) (taint mode)
Sinon, le module DBI contient une méthode quote() qui permet de quoter
systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin
rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
--
"Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce
que je veux !"
"The obvious mathematical breakthrough would be development of an easy
way to factor large prime numbers." (Bill Gates, The Road Ahead)
J aimerais parsé les param provenant d'un formulaire pour empecher l injection sql
quelle est la meilleure méthode en perl ?
As-tu essayé d'utiliser le flag -T ? :-) (taint mode)
Sinon, le module DBI contient une méthode quote() qui permet de quoter systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
-- "Je deteste les ordinateurs : ils font toujours ce que je dis, jamais ce que je veux !" "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." (Bill Gates, The Road Ahead)
Alexandre Jaquet
J aimerais parsé les param provenant d'un formulaire pour empecher l injection sql
quelle est la meilleure méthode en perl ?
As-tu essayé d'utiliser le flag -T ? :-) (taint mode)
Sinon, le module DBI contient une méthode quote() qui permet de quoter systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
nickel je v jetté un oeil merci
J aimerais parsé les param provenant d'un formulaire pour empecher
l injection sql
quelle est la meilleure méthode en perl ?
As-tu essayé d'utiliser le flag -T ? :-) (taint mode)
Sinon, le module DBI contient une méthode quote() qui permet de quoter
systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin
rentre quelque chose du genre
J aimerais parsé les param provenant d'un formulaire pour empecher l injection sql
quelle est la meilleure méthode en perl ?
As-tu essayé d'utiliser le flag -T ? :-) (taint mode)
Sinon, le module DBI contient une méthode quote() qui permet de quoter systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
nickel je v jetté un oeil merci
Patrick Mevzek
Sinon, le module DBI contient une méthode quote() qui permet de quoter systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
CE qui ne règle pas le problème de toutes les injections SQL, car on peut en faire sans utiliser de '
La bonne solution avec DBI est d'utiliser les prepared statements. Et de filtrer les données, avant d'appliquer éventuellement des opérations de protection de caractères (inutiles si usage des prepared statements)
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Sinon, le module DBI contient une méthode quote() qui permet de quoter
systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin
rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
CE qui ne règle pas le problème de toutes les injections SQL, car on
peut en faire sans utiliser de '
La bonne solution avec DBI est d'utiliser les prepared statements.
Et de filtrer les données, avant d'appliquer éventuellement des
opérations de protection de caractères (inutiles si usage des prepared
statements)
--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Sinon, le module DBI contient une méthode quote() qui permet de quoter systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
CE qui ne règle pas le problème de toutes les injections SQL, car on peut en faire sans utiliser de '
La bonne solution avec DBI est d'utiliser les prepared statements. Et de filtrer les données, avant d'appliquer éventuellement des opérations de protection de caractères (inutiles si usage des prepared statements)
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Alexandre Jaquet
Sinon, le module DBI contient une méthode quote() qui permet de quoter systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
CE qui ne règle pas le problème de toutes les injections SQL, car on peut en faire sans utiliser de '
La bonne solution avec DBI est d'utiliser les prepared statements. Et de filtrer les données, avant d'appliquer éventuellement des opérations de protection de caractères (inutiles si usage des prepared statements)
un code comme celui ci est il vulnérable ?
sub sqlSelect { my $select = shift || ''; my $from = shift || ''; my $where = shift || ''; my $other = shift || '';
my $sql="SELECT SQL_CACHE $select "; $sql.="FROM $from " if $from; $sql.="WHERE $where " if $where; $sql.="$other" if $other; my ($c)=$dbh->prepare($sql) or die "Sql has gone to helln"; if(not ($c->execute())) { my $err=$dbh->errstr; return undef; } my (@r)=$c->fetchrow(); $c->finish(); return @r; }
Sinon, le module DBI contient une méthode quote() qui permet de quoter
systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin
rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
CE qui ne règle pas le problème de toutes les injections SQL, car on
peut en faire sans utiliser de '
La bonne solution avec DBI est d'utiliser les prepared statements.
Et de filtrer les données, avant d'appliquer éventuellement des
opérations de protection de caractères (inutiles si usage des prepared
statements)
un code comme celui ci est il vulnérable ?
sub sqlSelect {
my $select = shift || '';
my $from = shift || '';
my $where = shift || '';
my $other = shift || '';
my $sql="SELECT SQL_CACHE $select ";
$sql.="FROM $from " if $from;
$sql.="WHERE $where " if $where;
$sql.="$other" if $other;
my ($c)=$dbh->prepare($sql) or die "Sql has gone to helln";
if(not ($c->execute())) {
my $err=$dbh->errstr;
return undef;
}
my (@r)=$c->fetchrow();
$c->finish();
return @r;
}
Sinon, le module DBI contient une méthode quote() qui permet de quoter systématiquement tes requêtes, ce qui permet d'éviter qu'un petit malin rentre quelque chose du genre
toto' OR '1=1
dans un champ de saisie par exemple.
CE qui ne règle pas le problème de toutes les injections SQL, car on peut en faire sans utiliser de '
La bonne solution avec DBI est d'utiliser les prepared statements. Et de filtrer les données, avant d'appliquer éventuellement des opérations de protection de caractères (inutiles si usage des prepared statements)
un code comme celui ci est il vulnérable ?
sub sqlSelect { my $select = shift || ''; my $from = shift || ''; my $where = shift || ''; my $other = shift || '';
my $sql="SELECT SQL_CACHE $select "; $sql.="FROM $from " if $from; $sql.="WHERE $where " if $where; $sql.="$other" if $other; my ($c)=$dbh->prepare($sql) or die "Sql has gone to helln"; if(not ($c->execute())) { my $err=$dbh->errstr; return undef; } my (@r)=$c->fetchrow(); $c->finish(); return @r; }
Patrick Mevzek
un code comme celui ci est il vulnérable ?
Bah comment dire, sans aucun contexte, oui, puisque
sub sqlSelect { my $select = shift || ''; my $from = shift || ''; my $where = shift || ''; my $other = shift || '';
variables que vous utilisez après coup dans une requête SQL, sans les vérifier ici.
Comme je ne peux pas deviner ce qu'il y avant, par défaut, c'est vulnérable. Si par contre, avant d'appeler sqlSelect vous vérifiez bien tout, c'est autre chose...
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
un code comme celui ci est il vulnérable ?
Bah comment dire, sans aucun contexte, oui, puisque
sub sqlSelect {
my $select = shift || '';
my $from = shift || '';
my $where = shift || '';
my $other = shift || '';
variables que vous utilisez après coup dans une requête SQL, sans les
vérifier ici.
Comme je ne peux pas deviner ce qu'il y avant, par défaut, c'est
vulnérable.
Si par contre, avant d'appeler sqlSelect vous vérifiez bien tout, c'est
autre chose...
--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Bah comment dire, sans aucun contexte, oui, puisque
sub sqlSelect { my $select = shift || ''; my $from = shift || ''; my $where = shift || ''; my $other = shift || '';
variables que vous utilisez après coup dans une requête SQL, sans les vérifier ici.
Comme je ne peux pas deviner ce qu'il y avant, par défaut, c'est vulnérable. Si par contre, avant d'appeler sqlSelect vous vérifiez bien tout, c'est autre chose...
-- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Alexandre Jaquet
un code comme celui ci est il vulnérable ?
Bah comment dire, sans aucun contexte, oui, puisque
sub sqlSelect { my $select = shift || ''; my $from = shift || ''; my $where = shift || ''; my $other = shift || '';
variables que vous utilisez après coup dans une requête SQL, sans les vérifier ici.
Comme je ne peux pas deviner ce qu'il y avant, par défaut, c'est vulnérable. Si par contre, avant d'appeler sqlSelect vous vérifiez bien tout, c'est autre chose...
Okette donc j utilise $dbh->quote($sql) avant l appel à sqlSelect
merci
un code comme celui ci est il vulnérable ?
Bah comment dire, sans aucun contexte, oui, puisque
sub sqlSelect {
my $select = shift || '';
my $from = shift || '';
my $where = shift || '';
my $other = shift || '';
variables que vous utilisez après coup dans une requête SQL, sans les
vérifier ici.
Comme je ne peux pas deviner ce qu'il y avant, par défaut, c'est
vulnérable.
Si par contre, avant d'appeler sqlSelect vous vérifiez bien tout, c'est
autre chose...
Okette donc j utilise $dbh->quote($sql) avant l appel à sqlSelect
Bah comment dire, sans aucun contexte, oui, puisque
sub sqlSelect { my $select = shift || ''; my $from = shift || ''; my $where = shift || ''; my $other = shift || '';
variables que vous utilisez après coup dans une requête SQL, sans les vérifier ici.
Comme je ne peux pas deviner ce qu'il y avant, par défaut, c'est vulnérable. Si par contre, avant d'appeler sqlSelect vous vérifiez bien tout, c'est autre chose...
Okette donc j utilise $dbh->quote($sql) avant l appel à sqlSelect
merci
Alexandre Jaquet
un code comme celui ci est il vulnérable ?
Bah comment dire, sans aucun contexte, oui, puisque
sub sqlSelect { my $select = shift || ''; my $from = shift || ''; my $where = shift || ''; my $other = shift || '';
variables que vous utilisez après coup dans une requête SQL, sans les vérifier ici.
Comme je ne peux pas deviner ce qu'il y avant, par défaut, c'est vulnérable. Si par contre, avant d'appeler sqlSelect vous vérifiez bien tout, c'est autre chose...
Okette donc j utilise $dbh->quote($sql) avant l appel à sqlSelect
merci
lorsque j utilise le quoting j ai le msg d erreur suivant :
MySQL server version for the right syntax to use near ''UPDATE wish SET ref_statut = '3' WHERE ref_user = '1' AND id_wish = '28''
Bah comment dire, sans aucun contexte, oui, puisque
sub sqlSelect {
my $select = shift || '';
my $from = shift || '';
my $where = shift || '';
my $other = shift || '';
variables que vous utilisez après coup dans une requête SQL, sans les
vérifier ici.
Comme je ne peux pas deviner ce qu'il y avant, par défaut, c'est
vulnérable.
Si par contre, avant d'appeler sqlSelect vous vérifiez bien tout, c'est
autre chose...
Okette donc j utilise $dbh->quote($sql) avant l appel à sqlSelect
merci
lorsque j utilise le quoting j ai le msg d erreur suivant :
MySQL server version for the right syntax to use near ''UPDATE wish SET
ref_statut = '3' WHERE ref_user = '1' AND id_wish = '28''
Bah comment dire, sans aucun contexte, oui, puisque
sub sqlSelect { my $select = shift || ''; my $from = shift || ''; my $where = shift || ''; my $other = shift || '';
variables que vous utilisez après coup dans une requête SQL, sans les vérifier ici.
Comme je ne peux pas deviner ce qu'il y avant, par défaut, c'est vulnérable. Si par contre, avant d'appeler sqlSelect vous vérifiez bien tout, c'est autre chose...
Okette donc j utilise $dbh->quote($sql) avant l appel à sqlSelect
merci
lorsque j utilise le quoting j ai le msg d erreur suivant :
MySQL server version for the right syntax to use near ''UPDATE wish SET ref_statut = '3' WHERE ref_user = '1' AND id_wish = '28''
À (at) Wed, 29 Jun 2005 20:38:54 +0200, Alexandre Jaquet <""alexjaquet"@[no spam]msn.com"> écrivait (wrote):
lorsque j utilise le quoting j ai le msg d erreur suivant : MySQL server version for the right syntax to use near ''UPDATE wish SET ref_statut = '3' WHERE ref_user = '1' AND id_wish = '28''
Vous utilisez deux fois la fonction "quote"... C'est une fois de trop !
#print "$sql"; if(!$dbh->do($sql)) { my $err=$dbh->errstr; } }
Vous feriez mieux d'utiliser les "place holder". C'est beaucoup plus propre.
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) Wed, 29 Jun 2005 20:38:54 +0200,
Alexandre Jaquet <""alexjaquet"@[no spam]msn.com"> écrivait (wrote):
lorsque j utilise le quoting j ai le msg d erreur suivant :
MySQL server version for the right syntax to use near ''UPDATE wish SET
ref_statut = '3' WHERE ref_user = '1' AND id_wish = '28''
Vous utilisez deux fois la fonction "quote"... C'est une fois de trop !
À (at) Wed, 29 Jun 2005 20:38:54 +0200, Alexandre Jaquet <""alexjaquet"@[no spam]msn.com"> écrivait (wrote):
lorsque j utilise le quoting j ai le msg d erreur suivant : MySQL server version for the right syntax to use near ''UPDATE wish SET ref_statut = '3' WHERE ref_user = '1' AND id_wish = '28''
Vous utilisez deux fois la fonction "quote"... C'est une fois de trop !