|
Переменная сессии!
|
|||
---|---|---|---|
#18+
Добрый день! Есть необходимость создать переменную сессии что бы каждый раз не обращаться к таблице пользователей для получения ID пользователя. Нашёл такой пример: SELECT set_config('myapp.var1', '1', False); -- Установка переменной SELECT current_setting('myapp.var1'); -- Чтение переменной Но на сколько в дальнейшем безопасно пользоваться данной переменной? Ведь допустим авторизовавшись, пользователь получит переменную userid = 5. А затем сам пользователь ведь может сам изменить переменную через set_config и это значение будет равно тому какое пользователь установит. Или есть способ делать что бы пользователь мог задавать данное значение только через хранимую процедуру или функцию? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2018, 20:49 |
|
Переменная сессии!
|
|||
---|---|---|---|
#18+
LeximusNet, А у вас что пользователь произвольные sql запросы на сервере может делать? Тогда такое решение не подходит (и никакое не подходит). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 03:53 |
|
Переменная сессии!
|
|||
---|---|---|---|
#18+
LeximusNet, 1. Можно значения переменных хранить в таблицах(возможно нежурналируемых), а доступ к ним только через security definer функции. 2. Можно посмотреть вот такой подход . 3. В 12-й версии возможно появится очень хорошее решение . ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2018, 11:46 |
|
|
start [/forum/topic.php?fid=53&fpage=57&tid=1995870]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
24ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 130ms |
0 / 0 |