Secure "where in(a,b,c)" clause.

From: "William Temperley" <willtemperley(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Secure "where in(a,b,c)" clause.
Date: 2008-04-03 16:50:39
Message-ID: 439dc11e0804030950v7c042200wd10e558c4fe3fa43@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi All

I hope this isn't a FAQ, but does anyone have any suggestions as to
how to make a query that selects using:
"where in(<comma delimited list>)"
secure from an sql injection point of view?

I have grid of tiles I'm using to reference geographical points.
These tiles are identical to the tiling system google maps uses. My
google maps application works out the tiles it wants to display as a
list of tile names, and sends this list to a php script.

This works very well, however I'm currently directly concatenating a sql query:

select st_collect(the_geom) from tiles where tilename in
(<comma delimited list>))

Which leaves my application vulnerable to sql injection.

As the length of the comma delimited list is highly variable I don't
think I can use a prepared query to increase security.

Thanks

Will

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2008-04-03 16:51:05 Re: deadlock
Previous Message Steve Atkins 2008-04-03 16:50:28 Re: modules