Я использовал $ _SESSION ['name'] для обработки данных со страницы на страницу. В основном я использовал его для того, чтобы пользователь регистрировался между страницами. На каждой странице я проверяю, является ли значение $ _SESSION [logged_in '] истинным или нет. Если значение true, заставьте войти в систему. В противном случае сделайте что-нибудь еще.Является ли это безопасным использованием переменных сеанса?
Это, как я обрабатывать мои сессии - основной образец:
<?php
session_start();
if($_SESSION['logged_in'])
{
//show control panel list
}
else
{
//show login box. Once user logs in. Once user logs in,
//fetch userID, username, etc from database. Also set
//$_SESSION['logged_in'] = true.
}
?>
Где-то между кодами я сделать следующее:
SELECT * FROM User WHERE userID = $_SESSION['userID'];
Я не уверен, что если $ _SESSION [ 'идентификатор пользователя' ] будут доступны пользователям или нет. Если это доступно, страница будет угрожать, потому что пользователь может вручную изменить идентификатор пользователя и получить доступ к другой учетной записи, которую он желает.
Я не в безопасности. Пожалуйста посоветуй! Что я могу сделать?
Примечание: я стараюсь сделать код максимально простым. На данный момент никакой уловки не задействован.
Пользователи могут манипулировать своими куки-файлами, а не их сеансовыми данными, это короткий ответ в любом случае ... Я думаю, что все идет хорошо. Маби оценивает, должен ли пользователь, не зарегистрированный пользователем, выйти на отдельную страницу входа и выйти, чтобы избежать продолжения работы этих сценариев. – Teson
Длинный ответ: вашему пользователю предоставляется только session_id, который либо проходит через файл cookie, либо получает переменную. Этот идентификатор позволяет PHP искать сеанс для этого пользователя, который хранится на вашем сервере (по умолчанию в файле). PHP считывает данные сеанса и заполняет данные супер-глобальным значением $ _SESSION. Пользователь не может напрямую обращаться к данным сеанса, поэтому хранение конфиденциальных данных в нем прекрасное. –
Возможный дубликат [Насколько безопасны переменные сеанса PHP?] (Http://stackoverflow.com/questions/1181105/how-safe-are-php-session-variables) –