Re: pl/pgsql enabled by default

Поиск
Список
Период
Сортировка
От Mike Mascari
Тема Re: pl/pgsql enabled by default
Дата
Msg-id 427D7787.90507@mascari.com
обсуждение исходный текст
Ответ на Re: pl/pgsql enabled by default  (Neil Conway <neilc@samurai.com>)
Ответы Re: pl/pgsql enabled by default  (Andrew Dunstan <andrew@dunslane.net>)
Re: pl/pgsql enabled by default  (Rod Taylor <pg@rbt.ca>)
Re: pl/pgsql enabled by default  (Greg Stark <gsstark@mit.edu>)
Список pgsql-hackers
Neil Conway wrote:
> Mike Mascari wrote:
> 
>> People who use views to achieve row security, which is a rather common 
>> paradigm, cannot allow users to create functions with side effects.
> 
> 
> Can you elaborate? I'm not sure I follow you.
> 
> (I'll note anyway that (1) SQL functions can have side effects: CREATE 
> FUNCTION foo() RETURNS VOID AS 'DELETE FROM ...', for example 

Wow. That's a problem IMHO. Many people use views to allow userA to 
query his salary without seeing userB's. If userA can just:

1. Create a SQL function which inserts into another table its arguments

2. Issue a query like:

SELECT *
FROM view_of_salaries_based_on_current_user
WHERE my_side_effect_function_that_inserts_into_a_temp_table(salary, 
employee);

and that function is writable with just 'SQL', then many, many people 
have a serious security risk on their hands. Perhaps this is why 
Oracle's standard UDFs cannot perform inserts, updates, or deletes.

Mike Mascari


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

Предыдущее
От: Neil Conway
Дата:
Сообщение: Re: pl/pgsql enabled by default
Следующее
От: Tatsuo Ishii
Дата:
Сообщение: Re: Race conditions, race conditions!