Re: Sql injection attacks

From: "Daniel Verite" <daniel(at)manitou-mail(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Sql injection attacks
Date: 2004-07-28 16:45:50
Message-ID: 20040728184609.1900596@uruguay.brainstorm.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jay 2004-07-28 18:12:12 php -postgresql
Previous Message Chris Gamache 2004-07-28 16:42:38 Tsearch2 dump/reload problem