Хороший способ предотвратить перехват сеанса?

Сценарий: при запуске сеанса на моем сайте я генерирую токен rand, который отображается пользователю один раз. Скажите, что они «хранят» его для последующего использования. Затем я ВСТАВЛЯЮ md5 (токен) в SQL с отметкой времени. Когда пользователь посещает другие страницы, такие как вход в систему, он должен будет передать токен через URL-адрес как часть процесса проверки. Я бы проверил, существует ли токен, и, возможно, ОБНОВИЛ идентификатор пользователя для этого токена.

Так. Даже если кто-то украдет пользовательский файл cookie PHPSESSID, разве это не принесет хакеру никакой пользы, поскольку он не сможет получить доступ ни к одной из этих страниц, не зная токена?


person Newphper    schedule 01.05.2011    source источник


Ответы (1)


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

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

Я рекомендую, если вы действительно беспокоитесь о безопасности, вы можете попробовать использовать HTTPS-соединение. Надеюсь, это помогло. Ваше здоровье!

person Vern    schedule 01.05.2011
comment
хорошая идея про ssl. это помогло бы заглянуть в токен. спасибо помогло!! - person Newphper; 01.05.2011