Как защитить PHPSESSID в php? - PullRequest
       15

Как защитить PHPSESSID в php?

2 голосов
/ 04 августа 2009

Я действительно не знаю, как защитить PHPSESSID. Значение session_id взято из PHPSESSID? Было бы катастрофично, если session_id был скомпрометирован. У кого-нибудь есть идеи?

Ответы [ 3 ]

3 голосов
/ 04 августа 2009

Вот статья из руководства по PHP, которая объясняет безопасность сеансов в PHP: ссылка

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

2 голосов
/ 04 августа 2009

Вы можете использовать HTTPS, как сказал Рейл, но если вы не можете позволить себе сертификат, есть несколько способов защитить сеанс даже с HTTP:

  • Сохранение пользовательского агента в сеансе при создании сеанса. Проверяйте user-agent на каждый запрос. Если пользовательский агент изменяется, удалите сеанс.
  • То же, что и выше, но с IP-адресом. Раздражает то, что многие интернет-провайдеры предоставляют динамические IP-адреса, и сеанс может быть удален незаконно.
  • Установить малое время ожидания сеанса. Это не помешает перехвату сессии, но снижает риски. Осторожно, это может раздражать пользователей.
  • Установить низкое время жизни сессии (1 день). Это заставит пользователей выполнять повторную аутентификацию через 1 день, поэтому, даже если сеанс будет захвачен, он не будет захвачен более одного дня.

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

0 голосов
/ 04 августа 2009

идентификатор_ сеанса хранится в файле cookie в системе пользователей. Не уверен, что ты имеешь в виду под защитой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...