PHP: безопасность сеанса

Я читал, например, о безопасности сеанса. Фиксация сеанса, захват и внедрение, но я не понимаю, как работает безопасность сеанса. Как я обычно это делаю:

// when user logins, 
$_SESSION["user"] = "someuser";

// check user login
if (isset($_SESSION["user"]) && !empty($_SESSION["user"]))

Возможно, я делаю это неправильно, но у меня нигде нет идентификаторов сеанса, или, по крайней мере, я не использовал его. Может ли кто-нибудь объяснить, как следует использовать идентификаторы сеанса и как это влияет на безопасность сеанса? Также, правильно ли я понимаю следующие угрозы?

Фиксация сеанса

  • Пользователь посещает ссылку (http://site.com?session_id=123) и входит в систему
  • Сервер «отмечает» этот идентификатор сеанса как зарегистрированный
  • Хакер теперь может посетить http://site.com?session_id=123

Мое понимание фиксации сеанса кажется мне очень неправильным. Если это правильно, не будет ли это означать, что хакеры могут случайным образом использовать идентификаторы сеансов, и я, скорее всего, буду использоваться существующим пользователем?

Перехват сеанса

  • Хакер каким-то образом получает идентификатор сеанса, будь то фиксация или угадывание и т. Д.

Инъекция сеанса

  • Что это?

1
задан Jiew Meng 7 October 2010 в 11:36
поделиться