Обычно захват сеанса относится к понятию, что человек пытается получить доступ к сеансу другого, обычно путем замены данных на стороне клиента.
В качестве примера человек X заполняет форму для входа на twitter.com. Twitter.com отправляет человеку X куки. Лицо Y, просматривает пакет и вручную вставляет этот файл cookie в свой браузер и посещает twitter.com, чтобы узнать, что они вошли в систему. Это захват сеанса.
Тогда есть фиксация сеанса, где я даю вам ссылку http://www.blah.com/?phpsessid=1234, а затем молюсь, чтобы вы туда и заходили, не замечая PHPsessid в URL-адресе. Если вы это сделаете, и если сайт не восстановит идентификатор сеанса (как всегда, при изменении состояния разрешения), тогда злоумышленник теперь может посетить blah.com/?phpsessid=1234, и они войдут в систему как вы. Таким образом, им не нужно было отслеживать идентификатор сеанса, потому что это были те, кто дал его вам.
Вот отличный сайт с информацией о предотвращении основного уголка PHP-сессии, который, я считаю, может быть учебником для ваших исследований.
http://phpsec.org/projects/guide/4.html
Право, да, спасибо, что указали это !. Я подумал, что, возможно, угонщик мог бы подделать сессию и угадать user_ids. Таким образом, хранение ip и агента пользователя, угонщик все еще может украсть эти данные, но они должны были бы подделать свой IP-адрес и собственный пользовательский агент для соответствия? – matthew
Пользователь не может напрямую получить доступ или изменить что-либо в $ _SESSION. Единственное, что они могли бы украсть, это PHPSESSID. Нет смысла затуманивать что-либо в данных сеанса IN, потому что доступ к нему имеет только сервер. –
Держитесь подальше от требования соответствия IP-адреса. Многие люди там имеют интернет-провайдеров, которые меняют свои IP-адреса несколько раз в течение десяти минут. Я не люблю тебя. – webbiedave