Безопасность переменных сеанса PHP - PullRequest
2 голосов
/ 27 октября 2010

Является ли плохой идеей хранить необработанный SQL-запрос в переменной сеанса php для дальнейшего использования? Представляет ли это какие-либо проблемы безопасности?

Ответы [ 3 ]

6 голосов
/ 27 октября 2010

Как правило, данные сеанса хранятся в файле в файловой системе сервера (см. session.save_handler и session.save_path ).Если вы защищаете эти данные сеанса (например, путем защиты каталога, чтобы он был доступен только для PHP или вашего веб-сервера), вы можете поместить в ваш сеанс разумные данные.

Обратите внимание, что если вы находитесь на общем хосте,вполне вероятно, что все пользователи на этом общем хосте имеют доступ к этому каталогу данных сеанса.В этом случае вам следует либо изменить этот каталог на тот, к которому только у вас есть доступ, либо изменить обработчик сохранения сеанса, чтобы сохранить данные сеанса в вашей личной базе данных или где-то еще.

2 голосов
/ 27 октября 2010

Теоретически это «безопасная» практика, но в целом не рекомендуется.Безопасно, если вы правильно защищаете данные сеанса, однако, как правило, я бы сказал, что в большинстве случаев вам не следует этого делать.это позже нужно?Возможно, ваша методология неверна или вы недостаточно повторно используете код приложения.

Более конкретные детали и, возможно, пример кода для ваших конкретных обстоятельств дадут лучший ответ.

1 голос
/ 27 октября 2010

Переменные сессии PHP хранятся на сервере ;Браузеру дается только ключ для этих данных.Сервер генерирует этот ключ случайным образом и связывает данные сеанса с этим ключом.Когда клиент запрашивает страницу, механизм сеанса сопоставляет ключ с данными и, таким образом, знает, кем является клиент.Сами данные никогда не передаются клиенту, только ключ, так что вы в безопасности.

...