похитить их все еще возможно да, но такое решение дает два преимущества (из статьи оригинала выделю их):
1. Атакующий получит доступ только на некоторое время
2. Жертва узнает об этом
Если не использовать series, то у похитителя будет свой remember me токен, который он может использовать когда угодно и жертва даже не будет
подозревать об этом.
может, в критических системах имеет смысл делать дополнительную проверку на основе айпи? то есть данная кука может работать только для определенного айпишника, для остальных она будет фейлить.
людям с динамическим айпи дать возможность отключить эту опцию.
вариант с айпи не очень удобен, это значит что с работы, из дома и/или просто кафе пользоваться такой системой нельзя. Большая часть пользователей будет просто отключать ее от незнания или таких неудобств. я такой фичи даже в интернет банковских системах не вижу сейчас
когда злоумышленник будет подделывать куки он полностью сэмитирует компьютер жертвы, в том числе юзер-агент и поддерживаемые фичи.
единственная неподделываемая информация о клиенте — это REMOTE_ADDR
Имеется в виду не юзер-агент, а его хеш. Не могу что-то найти сейчас ссылку. В общем, это уникальная информация, зависит от версии ос, обновлений ос, установленных в браузере плагинов. Где-то даже сайт был о проверки браузера на уникальность. Уникальность в итоге выше, чем у отпечатков пальцев. И дело тут в том, что злоумышленник может и не понять что именно похищать. хэш-то в куки не хранится.
Или комбинировать, REMOTE_ADDR + User-Agent.
В реальных условиях надо же смотреть на проект. Если это мелкий сайт, который не содержит важной информации — достаточно простой проверки куки. Если же речь идет о банковских сервисах (или ресурсах с важной информацией) — то лучше килять сессию как только поменялся браузер и\или REMOTE_ADDR.
Я, как пользователь, лучше еще раз введу логин\пароль, чем в один момент увижу, что у меня на счету 0 у.е. или даже минус…
Входите! Аутентификация без логина и пароля, «запомнить меня»