Спустя 49 минут, 4 секунды (8.08.2009 - 10:43) jetistyum написал(а):
бгг, ты считаешь что эту защиту сложно будет обойти?
Спустя 1 час, 58 минут, 59 секунд (8.08.2009 - 12:42) Error написал(а):
Это защита от кражи сессии,имеются и другие. Тоесть,если человек,даже с подобным ай пи и по угнанной сессии,попытается войти,то выйдет ошибка. Ибо число будет пустое,если же подставит вместе с числом,то это ничего не даст,потому как число мы получаем при авторизации пользователя. Нужно просто реализовать такой вариант. "ЕСЛИ,СТРАНИЦА НА КОТОРОЙ НАХОДИТСЯ ПОЛЬЗОВАТЕЛЬ,ОСТАЛАСЬ ПРЕЖНЕЙ,ТО ОСТАВЛЯЕМ КАК ЕСТЬ,ИНАЧЕ МЕНЯЕТСЯ ЧИСЛО И Т.Д." Вот этот момент как реализовать?
Спустя 1 час, 46 минут, 52 секунды (8.08.2009 - 14:28) FatCat написал(а):
Зачем изобретать велосипед? Возьмите любой движок форума, и посмотрите, как это сделано.
Логика довольно проста: действительно, случайное значение (идентификатор сессии) создается при заходе на сайт и сохраняется в базе, при переходе на страницы сверяется. У клиента пишется в куки, и лишь если куки запрещены - в адресную строку параметром.
И две функции: одна создает сессии, вторая апдейтит.
При любом запросе страницы выполняется функция апдейт сессии. Если заход первый, функция, не найдя в базе такой идентификатор, или если идентификатор пустой, передает функции криэйт.
При переходе на страницы и при обновлении страниц работает только апдейт, сессия продолжается.
Конечно же, каждый раз при апдейте сохраняется time() события, чтобы по истечении времени старые сессии можно было удалить из базы.
Логика довольно проста: действительно, случайное значение (идентификатор сессии) создается при заходе на сайт и сохраняется в базе, при переходе на страницы сверяется. У клиента пишется в куки, и лишь если куки запрещены - в адресную строку параметром.
И две функции: одна создает сессии, вторая апдейтит.
При любом запросе страницы выполняется функция апдейт сессии. Если заход первый, функция, не найдя в базе такой идентификатор, или если идентификатор пустой, передает функции криэйт.
При переходе на страницы и при обновлении страниц работает только апдейт, сессия продолжается.
Конечно же, каждый раз при апдейте сохраняется time() события, чтобы по истечении времени старые сессии можно было удалить из базы.
Спустя 3 часа, 51 минута, 8 секунд (8.08.2009 - 18:20) kirik написал(а):
Если сайт действительно стоит защищать от краж сессий, то почему бы просто не воспользоваться SSL (https)?