проверяльщик SQL строки на безопасность

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


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

Есть конечно вариант прикрутить какой-нибудь "проверяльщик SQL строки на безопасность". Если таковые есть - тоже вариант. Подскажите. Понятно, что DROP, CREATE, UPDATE и DELETE я сам могу выпилить, а какие ещё засады могут встретиться?
X-Cite
Дата: 05.06.2019 22:41:35
Запретить менять SQL? Зачем им что-то знать про SQL?

В лоб вариант...
Репорт билдер же по идее только на select работает?
Учеткам пользователей только коннект и селект.
Все остальные запросы пустить через роль приложения, если это mssql или от других учеток...
ёёёёё
Дата: 05.06.2019 22:53:24
Victor Cookin,

можно селектом сервер подвесить. И даже уронить.
...
Не надо виды запросов ограничивать, совсем. Вопрос - организационный.
Тридварасов не допускай к такому фукционалу, вот и все.
Victor Cookin
Дата: 05.06.2019 22:56:14
X-Cite,
Репорт билдер никак не ограничивает SQL statement, можно хоть DROP засунуть (но он сработает, естественно, только с учётки админа). Отчётов - сотни, пользователи должны их менять (иначе айтишникам кранты)
Victor Cookin
Дата: 05.06.2019 22:58:48
ёёёёё,

Ну да, и кривым селектом. Но это не страшно (убить процесс не проблема) - страшна потеря данных. Тридварасов нет, но люди ошибаются.
ёёёёё
Дата: 05.06.2019 23:04:31
Victor Cookin,

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

Либо вы, разработчики. Поэтому не надо осложнять себе жизнь.
Victor Cookin
Дата: 05.06.2019 23:14:02
ёёёёё
Victor Cookin,

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


А кто сотни отчётов в таком случае наструячил?
ёёёёё
Дата: 05.06.2019 23:15:24
Victor Cookin
ёёёёё
Victor Cookin,

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


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

Неужели ваши юзеры, с помощью эскуэл?
Victor Cookin
Дата: 05.06.2019 23:27:14
ёёёёё,

Ну не программёры же будут этой фигнёй заниматься. Был дан образец и - понеслось. Пока, тьфу-тьфу, никаких засад не было. Но кто ж знает что может быть.
DimaBr
Дата: 06.06.2019 01:00:24
А кто сотни отчётов в таком случае наструячил?

[youtube=]