Re: Sql injection attacks - Mailing list pgsql-general

From Daniel Verite
Subject Re: Sql injection attacks
Date
Msg-id 20040728184609.1900596@uruguay.brainstorm.fr
Whole thread Raw
In response to Re: Sql injection attacks  (Harald Fuchs <hf0722x@protecting.net>)
List pgsql-general
     Harald Fuchs writes

> Perhaps you mean something like the following:
>
>   my $sth = $dbh->prepare (q{
>     SELECT whatever
>     FROM mytable
>     WHERE somecol LIKE ? || '%'
>   });
>   $sth->execute ($input);
>
> Even if $input contains '%' or '_', those characters get properly escaped.

Hum, what makes you think that? if $input is "_foo%", then the DBD
driver will produce this query:
SELECT whatever FROM mytable WHERE somecol like  '_foo%'||'%'
The % and _ characters aren't escaped at all.

That can be confirmed by setting $dbh->trace_level to something greater or equal
than 2 and looking at the Pg DBD driver's output.

--
 Daniel
 PostgreSQL-powered mail user agent and storage: http://www.manitou-mail.org

pgsql-general by date:

Previous
From: Chris Gamache
Date:
Subject: Tsearch2 dump/reload problem
Next
From: Jay
Date:
Subject: php -postgresql