Исправление
Spoofing,
(текущая версия)
:
пользователь логинится на сайте один раз, проверяется по базе, да.
а далее его пользовательский ID запоминается в php-сессии и по базе чекать его более нужды нет.
сессия это одна единственная кука (PHPSESSID) с уникальным ID, и далее php берет данные сессии из файла который хранится локально.
получается схема, навроде: пользователь с кукой «PHPSESSID» -> берем данные из файла /tmp/PHPSESSID.txt -> тут записано что это за пользователь, проверять его по базе лишний раз нужды больше нет.
вы наверно первый раз об этом слышите? ну просто знайте, что так оно работает и это вполне себе секурно.
да, сессии можно подменить, установив в куку сессию админа сайта, и это плохо, но это уже другой разговор. :) для примерна, ВКонтакте, там сессия хранится в куке «remixsid». вы можете подменить это значение на куку какого-нибудь свеого друга, знакомого (тоже взять из его браузера), - и вуаля, вы ВКонтакте залогинены как этот ваш знакомый. но так это работает и это нормально.
так вот. по SQL-базе оно не чекается при каждом посещении страницы (а только один раз при логине), а пользователя всегда помнит его сессия.
надеюсь понятно. :)
UPD: в дополнение скажу, что да, php-сессии это тоже отдельная база, но хранится лично у меня она не в SQL базе, а в Memcached (которая хранится в ОЗУ и очень-очень быстрая). по-умолчанию же php хранит сессии в файлах.
Исходная версия
Spoofing,
:
пользователь логинится на сайте один раз, проверяется по базе, да.
а далее его пользовательский ID запоминается в php-сессии и по базе чекать его более нужды нет.
сессия это одна единственная кука (PHPSESSID) с уникальным ID, и далее php берет данные сессии из файла который хранится локально.
получается схема, навроде: пользователь с кукой «PHPSESSID» -> берем данные из файла /tmp/PHPSESSID.txt -> тут записано что это за пользователь, проверять его по базе лишний раз нужды больше нет.
вы наверно первый раз об этом слышите? ну просто знайте, что так оно работает и это вполне себе секурно.
да, сессии можно подменить, установив в куку сессию админа сайта, и это плохо, но это уже другой разговор. :) для примерна, ВКонтакте, там сессия хранится в куке «remixsid». вы можете подменить это значение на куку какого-нибудь свеого друга, знакомого (тоже взять из его браузера), - и вуаля, вы ВКонтакте залогинены как этот ваш знакомый. но так это работает и это нормально.
так вот. по SQL-базе оно не чекается при каждом посещении страницы (а только один раз при логине), а пользователя всегда помнит его сессия.
надеюсь понятно. :)