LINUX.ORG.RU

История изменений

Исправление legolegs, (текущая версия) :

Вот топикстартера, похоже, разубедили, а меня - нет. Какие-то, простите, ламерские аргументы, вида «давайте напишем больше кода, так будет безопаснее».

Выпишу из треда контраргументы и опровергну их.

что будешь делать когда понадобится немного поменять схему БД?

Очевидно, view будут переопределены на новый лад. Нет проблемы.

отсутствует изоляция внутреннего представления сущности

Сущности изолируются через view или хранимки. Не надо только каргокульта изоляции, когда на каждую фигню пишут геттер просто потому что Так Положено. Ну допустим удалишь ты поле из таблицы, ну во вьюшке тогда это поле вычислишь/нулями забьёшь, юзеры и не заметят ничего.

ты раскрываешь структуру своей БД, а это значит, ты сильно упрощаешь жизнь всяким взломщикам

За security through obscurity надо вообще гнать из профессии.

Если пользователь формирует сложный запрос, со 100500 объединениями таблиц и сортировкой по неиндексированным полям

Вот это действительно может быть проблемой. Впрочем, самодельный REST-апи с возможностью хитрых выборок будет так-же или более уязвим. А если хитрые выборки юзерам не нужны, то можно написать фильтр, пропускающий только тривиальные запросы из правильных таблиц/вьюшек и правильными полями в where/sort.

Исходная версия legolegs, :

Вот топикстартера, похоже, разубедили, а меня - нет. Какие-то, простите, ламерские аргументы, вида «давайте напишем больше кода, так будет безопаснее».

Выпишу из треда контраргументы и опровергну их.

что будешь делать когда понадобится немного поменять схему БД?

Очевидно, view будут переопределены на новый лад. Нет проблемы.

отсутствует изоляция внутреннего представления сущности

Сущности изолируются через view или хранимки. Не надо только каргокульта изоляция, когда на каждую фигню пишут геттер просто потому что Так Положено. Ну допустим удалишь ты поле из таблицы, ну во вьюшке тогда это поле вычислишь/нулями забьёшь, юзеры и не заметят ничего.

ты раскрываешь структуру своей БД, а это значит, ты сильно упрощаешь жизнь всяким взломщикам

За security through obscurity надо вообще гнать из профессии.

Если пользователь формирует сложный запрос, со 100500 объединениями таблиц и сортировкой по неиндексированным полям

Вот это действительно может быть проблемой. Впрочем, самодельный REST-апи с возможностью хитрых выборок будет так-же или более уязвим. А если хитрые выборки юзерам не нужно, то придётся написать фильтр, пропускающий только тривиальные запросы из правильных таблиц/вьюшек и правильными полями в where/sort.