Защита данных PHP $ _SESSION? - PullRequest
0 голосов
/ 08 июля 2011

Я работаю над проектом, в котором требуются сеансы вместо файлов cookie, и мне было интересно, как можно их обезопасить?С куки я бы просто сделал что-то вроде этого:

$x = serialize(array('username', sha1('pwd')));
setcookie('cookieName', $x, time()+60);
...
$myCookie = unserialize($_COOKIE['cookieName']));
echo $myCookie[0];

Но я не совсем уверен, как это сделать с помощью сессий.

Ответы [ 3 ]

5 голосов
/ 08 июля 2011

Нет необходимости сериализации данных в сеансе. Он сериализуется для вас.

Также я не вижу, как это связано с безопасностью. SHA1 хеширование пароля в куки? Вы не должны отправлять пароль на стороне клиента вообще! По крайней мере, в сеансе эта переменная будет храниться только на стороне сервера (сеансы хранятся в файле на стороне сервера по умолчанию)

1 голос
/ 08 июля 2011

Не помещайте важные данные в сеанс или cookie.Сохраните идентификатор или хешированный идентификатор как в БД, так и в сеансе, а затем просто проверьте в базе данных правильные данные на основе хеш-ключа.Вы также можете использовать md5 ('username');сохраните его в сеансе и после этого, когда вам понадобятся данные, просто сравните имя пользователя сеанса / хэш с md5 ('username');текущего пользователя.

0 голосов
/ 08 июля 2011

Вы также можете хранить сериализованные данные в сессии. Кроме того, если вы хотите, вы можете сохранить все данные сеанса в поисковой форме в базе данных и поддерживать идентификатор сеанса:

$_SESSION['key']= serialize(array('username', sha1('pwd')));
...