Jurijus Zaksas
Искусственный Интеллект
(445796)
3 года назад
Правильным подходам является:
1. Выбор СУБД, позволяющей ограничивать доступ к данным индивидуальным пользователям на уровне записей. Большинство СУБД умеет это дело только на уровне таблиц.
2. Аутентификация каждого пользователя в СУБД отдельно, а не всех скопом под одним логином веб-сервера, как это принято у любителей "редактировать GET".
3. Назначение соотв. прав на соотв записи соотв. пользователям.
Это сложно и дорого, но это ПРАВИЛЬНЫЙ способ.
Другим способом является включение в систему дополнительного уровня безопасности и контроля доступа, создание т. н. многоуровневой системы. При таком подходе все данные проходят через этот слой как через фильтр и он уже как-то решает, кому там и что надо или не надо показывать.
Все остальное - потенциально дырявая фигня на постном масле.
../?systemid=62. Как запретить пользователю 2 доступ к данным пользователя один? Ведь достаточно редактировать GET и база данных выведет информацию. Делать проверку на принадлженость пользователю? это значит что каждому элементу нужно присваивать id пользователя, а если у подсистем буду еще подсистемы и так далее? правильный ли это подход ?