Running untrusted sql safely?

From: Stuart McGraw <smcg2297(at)frii(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Running untrusted sql safely?
Date: 2009-02-15 20:17:28
Message-ID: 49987858.90101@frii.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

What is the best way to run an arbitrary
query received from an untrusted source,
safely?

(I want a web page form with a textbox that
a user can enter an arbitrary sql statement,
then run it but I want to prevent therm from
changing anything or escaping postgresql
and executing system commands. I.e., it
is intended to allow for searching only.
I understand and accept that resource hogging
queries could submitted constituting a DoS
attack but I will deal with that in other
ways.)

I am thinking the running the query on a
connection with a role that gives only select
privileges might be sufficient. Is it? Any
things I need to watch out for? Any other
or better ways to do this?

Responses

Browse pgsql-general by date

  From Date Subject
Next Message John R Pierce 2009-02-15 21:03:01 Re: Running untrusted sql safely?
Previous Message Tom Lane 2009-02-15 18:41:05 Re: partial unique index and the planner