Yeah, would Python protect you from that ? I am using Groovy on Grails and
not sure how these things work here. Most of the time I use GORM to do my
queries, but now I am stuck with SQL because of fulltext search with
Postgres. Perhaps there is some similiar things in Groovy to run, I will
check into that.
/ Moe




On Thu, Jan 8, 2009 at 5:20 PM, Christopher Swingley <cswin...@gmail.com>wrote:

> Greetings!
>
> > Wed, Jan 7, 2009 at 8:07 PM, Mohamed <mohamed5432154...@gmail.com>
> > > Hi, I am wondering whether or not there exists any built in
> > > function for making sure a query/textinput is not harmful or one
> > > that escapes them. If not, what kind of things should I watch out
> > > for ?
> >
> > * Reg Me Please <regmeple...@gmail.com> [2009-Jan-08 00:20 AKST]:
> > Maybe I'm missing the point, but have read about quote_ident() and
> > quote_literal() at chapter 9.4 "String Functions and Operators"?
>
> quote_literal() does seem like a good choice for getting the quoting
> correct.  As far as protecting yourself from SQL injection attacks, you
> may want to look at the options available in the programming language
> you are using to get user input.  In Python, for example, you can run
> queries as follows:
>
>  parameters = (12, "bar", True)
>  query = "INSERT INTO foo VALUES (%d, %s, %s);"
>  cursor.execute(query, parameters)
>  cursor.commit()
>
> Python fills the '%X' fields with the parameters after verifying they
> are safe.  Probably best to test how much protection this offers.
>
> I believe the risk isn't so much a question of quoting or special
> characters, but carefully crafted input variables.  For example, what if
> the second parameter was:
>
>  "'bar', True); DELETE FROM foo; INSERT INTO foo VALUES (1, 'bar',"
>
> Cheers,
>
> Chris
> --
> Christopher S. Swingley
> http://swingleydev.com/
> <cswin...@gmail.com>
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

Reply via email to