Re: [SQL] security: escaping user-supplied data

Поиск
Список
Период
Сортировка
От Albert REINER
Тема Re: [SQL] security: escaping user-supplied data
Дата
Msg-id 19991015140149.D598@frithjof
обсуждение исходный текст
Ответ на Re: [SQL] security: escaping user-supplied data  ("tjk@tksoft.com" <tjk@tksoft.com>)
Ответы Re: [SQL] security: escaping user-supplied data
Список pgsql-sql
On Wed, Oct 13, 1999 at 04:30:55PM -0700, tjk@tksoft.com wrote:
> Here's a function in perl which should work for cleaning
> a string which is sent in a query:

Well, this obviously depends on the type of data you expect from the
user; I don't really see why you would like to get rid of double
backslashes (maybe the data is TeX-Code, and \\ has been assigned to
something useful). Furthermore, you don't really prevent the user from
storing \\, he just has to type \\\ instead --- a rather confusing
behavior:
   $ perl -e '$a="\\\\\\"; print "$a\n"; $a =~ s/\\\\/\\/g; print "$a\n"; '   \\\   \\

But if you really want to prevent more than one \ in the string (which
may be useful for some applications), consider s/\\+/\\/g. I guess it
all depends on what type of data you want to store. By the way, for me
the need to run the modification several times has never arisen.

By the way, your clean_text() does not take care of %, which might be
important in LIKE-clauses: "select field where field like '%"
. clean_text('50% increase') . "'" might not do what you (or the user)
want.

Albert.


-- 

--------------------------------------------------------------------------- Post an / Mail to / Skribu al: Albert
Reiner<areiner@tph.tuwien.ac.at>
 
---------------------------------------------------------------------------


В списке pgsql-sql по дате отправления:

Предыдущее
От: soundar rajan
Дата:
Сообщение: help on jdbc driver
Следующее
От: "tjk@tksoft.com"
Дата:
Сообщение: Re: [SQL] security: escaping user-supplied data