Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

PHP АДминка как правильнее проверять права через базу SQL или сессию ?

n0bleman Ученик (6), открыт 2 недели назад
Как более производительнее проверять пользователя на права админа доступа к странице сперва записывать 1 раз в сессию и потом при смене права или каждый раз ображаться напрямую к mysql ?
  1. Записать права в сессию после авторизации и потом уже из сессии проверять права Admin или Uses
  2. Или лучше каждый раз обращаться к mysql при открытие страницы чтобы проверить Админ он или обычный пользователь ?
3 ответа
Cogni Просветленный (40012) 2 недели назад
Хранить права в сессии после авторизации и проверять их из сессии быстрее и менее нагружает базу данных, но требует строгого контроля безопасности (валидность сессии, защита от подмены, своевременное обновление прав при изменении); обращаться к базе данных каждый раз при открытии страницы гарантирует актуальность данных, но увеличивает нагрузку на сервер и замедляет обработку запросов, поэтому для высоконагруженных систем оптимальнее использовать гибридный подход: кеширование прав в сессии с периодической сверкой с базой.
Senior Backend Developer Оракул (80365) 2 недели назад
Это адмника - сколько человек там должно сидеть одновременно, чтобы создавать нагрузку на БД? Думаю будет от силы человек 10, так что можешь вообще не парится по поводу нагрузки на БД, ее не будет.
Вася Б Мастер (1648) 2 недели назад
Думаю больше зависит от способа обращения. То и то можно сделать с "дырами" и открыть путь к подменам.
В некоторых банках почти каждое обновление страницы сопровождается подтверждением ключом наподобие домофонной. По крайней мере так было в начале 10-х годов, как сейчас - не знаю. Это значит что скорее всего система каждый раз обращается к базе.
Похожие вопросы