Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
В приложении есть генератор отчётов(Report Builder для Delphi), в нём пользователи могут менять SQL.
то, что там пропускаются штуки типа "drop table" - это полбеды. В конце концов можно не давать пользователю прав на такое. Но нельзя не давать прав на update. А с ним можно наделать делов не меньше:
Update price set old_price = 0


Как бы запретить пользователю в определённых режимах делать что-то кроме SELECT, в рамках его привилегий?

Есть конечно вариант прикрутить какой-нибудь "проверяльщик SQL строки на безопасность". Если таковые есть - тоже вариант. Подскажите. Понятно, что DROP, CREATE, UPDATE и DELETE я сам могу выпилить, а какие ещё засады могут встретиться?
5 июн 19, 22:29    [21902985]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1604
Запретить менять SQL? Зачем им что-то знать про SQL?

В лоб вариант...
Репорт билдер же по идее только на select работает?
Учеткам пользователей только коннект и селект.
Все остальные запросы пустить через роль приложения, если это mssql или от других учеток...
5 июн 19, 22:41    [21902989]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
Victor Cookin,

можно селектом сервер подвесить. И даже уронить.
...
Не надо виды запросов ограничивать, совсем. Вопрос - организационный.
Тридварасов не допускай к такому фукционалу, вот и все.
5 июн 19, 22:53    [21902994]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
X-Cite,
Репорт билдер никак не ограничивает SQL statement, можно хоть DROP засунуть (но он сработает, естественно, только с учётки админа). Отчётов - сотни, пользователи должны их менять (иначе айтишникам кранты)
5 июн 19, 22:56    [21902996]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
ёёёёё,

Ну да, и кривым селектом. Но это не страшно (убить процесс не проблема) - страшна потеря данных. Тридварасов нет, но люди ошибаются.
5 июн 19, 22:58    [21902998]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
Victor Cookin,

юзеры не будут отчёты менять, тем более - с применением sql.
Это полный анрил, 500%.
Будет либо специально нанятый мальчик (сколько нужно платить, чтобы разумное существо согласилось выполнять такую работу?).

Либо вы, разработчики. Поэтому не надо осложнять себе жизнь.
5 июн 19, 23:04    [21903002]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
ёёёёё
Victor Cookin,

юзеры не будут отчёты менять, тем более - с применением sql.


А кто сотни отчётов в таком случае наструячил?
5 июн 19, 23:14    [21903009]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
Victor Cookin
ёёёёё
Victor Cookin,

юзеры не будут отчёты менять, тем более - с применением sql.


А кто сотни отчётов в таком случае наструячил?

Неужели ваши юзеры, с помощью эскуэл?
5 июн 19, 23:15    [21903010]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
ёёёёё,

Ну не программёры же будут этой фигнёй заниматься. Был дан образец и - понеслось. Пока, тьфу-тьфу, никаких засад не было. Но кто ж знает что может быть.
5 июн 19, 23:27    [21903018]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
DimaBr
Member

Откуда:
Сообщений: 11333
А кто сотни отчётов в таком случае наструячил?

[youtube=]
6 июн 19, 01:00    [21903047]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
DimaBr,

активных отчётов 553, всего за 10+ лет - 12548. Все в базе хранятся.
6 июн 19, 01:07    [21903049]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Gator
Member

Откуда: Москва
Сообщений: 14978
Victor Cookin,

За 10 лет вполне можно было устаканить права на объекты и расписать роли
6 июн 19, 05:09    [21903061]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
fraks
Member

Откуда: Новосибирск
Сообщений: 1469
IMHO там бОльшая часть отчетов повторяет друг друга, может быть отличаясь в мелких ньюансах.
Ибо при таком количестве отчетов вместо того что бы разбираться нет ли уже такого существующего, юзерю проще сделать новый, на основе какого-нибудь другого. И таким образом хаос нарастает.
6 июн 19, 06:42    [21903074]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
ёёёёё
Member

Откуда:
Сообщений: 1401
Victor Cookin
DimaBr,

активных отчётов 553, всего за 10+ лет - 12548. Все в базе хранятся.

- Что-то у нас техподдержка бездельничает, пользователи перестали обращаться?
- Просто мы на прошлой неделе метаданные в базе поменяли, вот пользователи и не звонят, отчеты правят...
6 июн 19, 09:36    [21903166]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
asutp2
Member

Откуда: Тюмень
Сообщений: 550
Victor Cookin
ёёёёё,

Ну не программёры же будут этой фигнёй заниматься. Был дан образец и - понеслось. Пока, тьфу-тьфу, никаких засад не было. Но кто ж знает что может быть.

а потом ты жалуешься, что юзеры могут использовать update или delete :-)
и кстати, довольное странное отношение к отчетам, ты называешь их "фигней", хотя потом сам же говоришь, что:
Victor Cookin
активных отчётов 553, всего за 10+ лет - 12548. Все в базе хранятся.

на мой взгляд со стороны это уже вполне себе серьезный момент, требующий правильной организации
6 июн 19, 09:46    [21903183]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
Gator
За 10 лет вполне можно было устаканить права на объекты и расписать роли

(sorry for offtop)
интересно как в Оракле, например, можно дать пользователю возможность работать на изменение только с одной записью? Триггеры не предлагать.
6 июн 19, 17:43    [21903846]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 11276
Victor Cookin
интересно как в Оракле, например, можно дать пользователю возможность работать на изменение только с одной записью?
Так же как и везде - через View. Можно даже с одним полем
6 июн 19, 17:47    [21903855]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
asutp2
а потом ты жалуешься, что юзеры могут использовать update или delete :-)

жалуюсь, да. Мне кажется в отчётах пособные запросы должны блокироваться.

asutp2
и кстати, довольное странное отношение к отчетам, ты называешь их "фигней"

это парафраз
ёёёёё
(сколько нужно платить, чтобы разумное существо согласилось выполнять такую работу?).


asutp2
на мой взгляд со стороны это уже вполне себе серьезный момент, требующий правильной организации

Все по псевдопапочкам разложено)
6 июн 19, 17:47    [21903856]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
_Vasilisk_
Так же как и везде - через View. Можно даже с одним полем

не понимаю как
6 июн 19, 17:50    [21903864]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
fraks
IMHO там бОльшая часть отчетов повторяет друг друга, может быть отличаясь в мелких ньюансах.
Ибо при таком количестве отчетов вместо того что бы разбираться нет ли уже такого существующего, юзерю проще сделать новый, на основе какого-нибудь другого. И таким образом хаос нарастает.


Да нет никакого хаоса. Ну да, меняют. Год поменялся, НДС поменялся...
6 июн 19, 17:51    [21903866]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59390
Блог
Victor Cookin
интересно как в Оракле, например, можно дать пользователю возможность работать на изменение только с одной записью?

Например, можно открыть культовую книгу Тома Кайта, которую всегда рекомендуют прочитать любому новичку. Там этому вопросу посвящена одна из глав.

Victor Cookin
Триггеры не предлагать.

А что ещё не предлагать? Опубликуйте, пожалуйста, весь список. SELECT, INSERT, UPDATE и DELETE туда войдут?
6 июн 19, 18:10    [21903905]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Victor Cookin
Member

Откуда: Самара
Сообщений: 714
softwarer
Например, можно открыть культовую книгу Тома Кайта, которую всегда рекомендуют прочитать любому новичку. Там этому вопросу посвящена одна из глав.


У Кайта много книг. В основном как раз для профессионалов. Какую конкретно книгу Вы рекомендуете.

softwarer
А что ещё не предлагать? Опубликуйте, пожалуйста, весь список. SELECT, INSERT, UPDATE и DELETE туда войдут?


Нет, только триггеры не предлагать.
6 июн 19, 18:15    [21903908]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 59390
Блог
Victor Cookin
Как бы запретить пользователю в определённых режимах делать что-то кроме SELECT, в рамках его привилегий?

Например, через роли.

Victor Cookin
Есть конечно вариант прикрутить какой-нибудь "проверяльщик SQL строки на безопасность".

Есть и более идиотские варианты.
6 июн 19, 18:17    [21903912]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Шавлюк Евгений
Member

Откуда: Одесса
Сообщений: 486
Victor Cookin,

В firebird может быть r/o транзакция. Один из вариантов решения проблемы
6 июн 19, 18:32    [21903928]     Ответить | Цитировать Сообщить модератору
 Re: проверяльщик SQL строки на безопасность  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 30624

06.06.2019 18:32, Шавлюк Евгений пишет:
> В firebird может быть r/o транзакция.

у Оракела тоже.

Posted via ActualForum NNTP Server 1.5

6 июн 19, 18:36    [21903934]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Delphi Ответить