Интересно, что будет если заменить чужой идентификатор сессии.
Например:
[php:1:dbc905454e]
setcookie('sess', 'blablabla', time() + 86400 * 360);
session_id($_COOKIE['sess']);
session_start();
[/php:1:dbc905454e]
Да, это так. Это и небыло большим секретом ни для кого. Файлы сессии связаны с пользователем только идантификаторами хранимыми в куках или передаваемыми как дополнительный аргумент в ссылке.
11 Янв 2013, 11:195, почему? Вполне нормально.
Сразу предупрежу, у тебя код немного делает не то, что нужно.
Но если я получу доступ к твоим кукис и подставлю сессию - тогда получу доступ.
От этого делают защиту, к примеру, в сессию прописывают ip, и если он не совпадает - то сессия удаляется, но это больше приносит неудобств, чем реальных плюсов, к примеру, в опере мини часто могут менятся ip, или я сидел в кафешке с бесплатный вай-фай, а затем отключил его и через телефон зашел - сразу вылечу с сессии.
Поэтому лучше особо не заморачиваться по этому поводу.
Если хакнут - это уже проблема посетителя. Да вообще все взломать можно, зависит от усилий хакера.
Посмотрите, ниже прикреплён класс, написал его для работы с сесссиями.
Его цель - удобный доступ к сессиям + ПРОДЛЕНИЕ время жизни сессии.
Исходя из того, что я накарлякал, получается - защиты в нём 0.
добавлено спустя 2 минуты:
Akdmeh, подменить куки это секундное дело, узнать id сессии тоже можно. Тогда взломать мой сайт можно за считанные минуты..
EmptyZero, ну давай взломай тогда какой-нито сайт. Например этот, в скрипте phpbb такой же принцип действия авторизации.
Напиши как ты будешь узнавать идантификатор сессии.
Тырим куки у жертвы с помощью онлайн снифера. Далее применяем их к своему браузеру. И если такой принцип сработает - получаем доступ к чужому аккаунту
11 Янв 2013, 17:53EmptyZero, зачем их применять к своему, их можно хотябы записать в файл, а потом уже и применять что надо.
11 Янв 2013, 17:59