Вопрос про безопасность сессии

867
.
OnLine Quest Game
Добрый вечер.
Нужен совет по работе с сесиями.
Пример,на странице chort.php есть запись сессии.
$_SESSION['test']='Hello world!';

На второй странице chort2.php мы извлекаем то что записанно в сессии.
echo $_SESSION['test'];

Вопрос, возможно ли как то подменить значение 'Hello world!' на свое?
И вообще,безопасно ли так использоватеть или нужна защита:?
.
точка невозврата
localhost, подменить невозможно, сессии безопасны, если конечно ты не выведешь в урл значения сессий и кто-то за плечем не подсмотрит их
.
Сессии хранятся на сервере. Как сказали выше, да и по логике их подменить не возможно и содержимое узнать тоже не реально, даже если ты автор сессии.
Единственное что можно, то это CSS если ты их фильтровать не будешь, если там будет содержимое что захочет юзер.
.
Windler (11.01.2012/21:12)
Сессии хранятся на сервере. Как сказали выше, да и по логике их подменить не возможно и содержимое узнать тоже не реально, даже если ты автор сессии.
Единственное что можно, то это CSS если ты их фил
XSS в сессии?
.
~XeOn~ (11.01.2012/21:19)
XSS в сессии?
$_SESSION['text'] = $_POST['text'];
echo $_SESSION['text'];
.
точка невозврата
Windler, гг ну если кодер будет писать вилкой, то дырок наделает, да
.
точка невозврата
localhost, хотя есть один нюанс, зависит от типа задачи. Простой пример, допустим есть файлы 1.php, 2.php и есть файл gg.php. Последний считывает данные с сессии, которые записываются в первых двух, и данные ессесно разные. Если перейти сначала на файл 1.php, потом на 2.php, потом кнопкой 'назад' арбуза вернутся на 1.php и оттуда перейти по ссылке на gg.php, то сессия отобразит данные с 2.php, хотя и переходили с 1.php. Получится подмена данных, и будет сбой. Так что с сессиями надо быть очень аккуратным.
.
точка невозврата
И к слову, эта проблема часто возникает в играх, где игрока нужно вести строго по ссылкам и запретить кнопку 'назад'. Я для безопасности всегда проверял данные HTTP_REFERER.
.
OnLine Quest Game
Windler (11.01.2012/21:31)
$_SESSION['text'] = $_POST['text'];
echo $_SESSION['text'];
Не,таким методом сам знаю что возможно натворить дел.
Данные в сессию заносятся определенные,подобии того что написал.
.
OnLine Quest Game
vermas (11.01.2012/22:14)
localhost, хотя есть один нюанс, зависит от типа задачи. Простой пример, допустим есть файлы 1.php, 2.php и есть файл gg.php. Последний считывает данные с сессии, которые записываются в первых двух,
Во,вот это я понимаю ответ.
У меня реализован такой принцип.Пользователь переходит на страницу,например go.php
На этой странице сессии присваивается значение например хело ворд и идет сразу же перенаправление на страницу test.php где собственно эта сессия и выводится так как я описал выше и сразу же она уничтожается session_unregister('test');.
Всего: 40