LINUX.ORG.RU

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

Исправление 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-базе оно не чекается при каждом посещении страницы (а только один раз при логине), а пользователя всегда помнит его сессия.

надеюсь понятно. :)