Sergey_K
Программистам всегда сложно абстрагироваться от конкретного контекста :)
Nikolay
с абстракциями у меня всегда было хорошо, просто я не понимаю суть этого "вью"
Sergey_K
Суть вью?
Sergey_K
Это представление
Sergey_K
Тупой запрос
Sergey_K
любой
Sergey_K
сохранен в базе
Sergey_K
кешируется
Nikolay
это оно? https://habr.com/ru/post/47031/
Sergey_K
да
Sergey_K
просто просмотр
Nikolay
я прочитал понял только в самом общем
Nikolay
смысле
Sergey_K
ну смотри
Sergey_K
я беру и делаю вьюху с таким кодом
Sergey_K
select o.*, a.* form ms2_orders o left join ms2_order_addresses a ....
Sergey_K
назову это orders_list
Sergey_K
это мне давт все данные по заказам и адресам
Sergey_K
из
Sergey_K
а дальше ты можешь доступами дать юзеру "Уася" права на выборку num и city из этого вью
Sergey_K
Уася будет писать select num, city from orders_list where id = 15
Sergey_K
Он не может сделать update
Sergey_K
drop или что-то еще
Sergey_K
только выбрать эти два столбца
Sergey_K
это будет ограничено на уровне бд.
Nikolay
ну тогда миллион пользователей заводить нужно)
Nikolay
в mysql
Sergey_K
да нет, откуда миллион? по ролям. так же как в модх у тебя же не у всех ко всему есь доступ.
Sergey_K
или есть процедура
Sergey_K
которая обновляет цену в заказе
Sergey_K
все, что ты можешь сделать это исполнить
Sergey_K
exec updare_order_price("1910/45", 500);
Sergey_K
все
Sergey_K
пиши туда что хочешь, инжектируй, но она будет тупо обновлять цену и ничего более.
Nikolay
ну ок, но вот я программист php, пишу скрипт, который делает сразу кучу вещей, то обновить, сё, под каким пользователем он должен подключиться к бд?
Nikolay
при том что у меня куча логики, например, личный кабинет
Sergey_K
пиши на пхп, в чем проблемы. только личный кабинет, допустим, в минижопе
Sergey_K
для примера
Sergey_K
что там надо?
Sergey_K
вьюха на просмотр заказов. процедура на изменение фио. Ну и чота еще - процедура для обновление 6 полей профиля. Все.
Sergey_K
Вот тебе "скоуп" доступа.
Nikolay
не ну скрипт же с бд работает, к бд подключается под пользователем, под каким? выходит под root? или мне скрипты дробить по пользователем к бд?
Nikolay
в зависимости от действий
Sergey_K
Ну подожди, есть действия пользователя, есть твои внутренние механизмы.
Sergey_K
Юзер работает с правами юзера
Sergey_K
твой скрип какой? который получает запрос юзера на просмотр заказов? очевидно, от юзера.
Sergey_K
Какой еще там нужен скрипт и какая логика? Класс обработки? Ну вызывай в нем любые нужные права, в чем проблема? Ты в пхп и так проверяешь сейчас права все.
Nikolay
ну вот к примеру в лк на фронте юзер должен иметь возможность удалить, записать, обновить кучу данных в разных таблицах. Выходит вся эта фишка в плане безопасности нарушается? юзеров то 1000, нельзя разграничить, чтобы один мог только свою строку в бд прочесть/записать
Sergey_K
Реляционная бд это два измерения. Строки и столбцы.
Sergey_K
Речь про столбцы
Nikolay
ну список заказов от разных пользователей
Sergey_K
Процедуры
Nikolay
каждый только свой читает
Sergey_K
В мс динамикс так было
Aleksei
имхо, если человек настолько не въезжает в работу пхп и mysql, может не стоит тогда умничать и освоить для начала то, что уже есть в модексе/минишопе?
Sergey_K
Автоматом юзерайди текущий ставился в where процедурами
Sergey_K
Но такое тупит нещадно в итоге
Nikolay
что-то как-то не очень...
Sergey_K
Эм...ну придумай, чтобы огонь)
Sergey_K
Пхп записи через sql выбирает))
Nikolay
это выходит под каждого юзера свой шаблон sql запроса, и неизвестно каким образом всё это генериться будет и где)
Nikolay
и как потом управлять всем этим
Sergey_K
эм... ну прости, но странный вывод
Sergey_K
а в php тебя не смущает, что этот "шаблон" генерится на лету?
Sergey_K
и, вспомним артурчика, кэшем там слабо пахнет.
Sergey_K
я не знаю, кому неизвестно,прости. но по моим данным энтерпрайз в основном так и работает. ну, как минимум, работал :) давно я не видел оракла и сап.
Nikolay
где ещё эта инфа про то какому пользователю какие запросы разрешены хранится непонятно
Sergey_K
а где у тебя права пользователей хранятся?
Sergey_K
тоже не понятно? :)
Nikolay
mysql.users
Nikolay
вроде
Nikolay
или рядом
Sergey_K
ну а вопрос-то в чем? информация одна и та же.
Nikolay
в соседних таблицах
Sergey_K
что тебе не ясно-то?
Nikolay
ну выходит, что если регистрируется новый пользователь, то php-скрипт имеет прямой доступ к святая святых куда добавляет инфу о пользователе на основе введённых им данных
Nikolay
и создаёт 100500 вариантов чего может юзер а чего нет
Sergey_K
Прости, конечно
Sergey_K
Но еще раз