Для дополнительной защиты от кражи файлов cookie с помощью чего-то вроде XSS вы можете рассмотреть возможность создания уникальных файлов cookie для каждого IP-адреса, а затем убедиться, что файлы cookie могут использоваться только с этого IP-адреса.Если вы храните файлы cookie в базе данных, все может стать сложнее, поскольку теперь у вас есть несколько файлов cookie, привязанных к одному и тому же пользователю.
Вот как избежать этих проблем:
Set-Cookie: userName=Alice; authCode=eeba95a4...
Где: authCode = HMAC (ROWID, userName + ipAddr)
Когда вы получите этот cookie, найдите пользователя в базе данных, пересчитайте / проверьте authCode в cookie, используя ROWID иIP-адрес запроса.Нет необходимости хранить файлы cookie в базе данных.
Для дополнительных точек шифрования добавьте в смесь параметр salt :
Set-Cookie: userName=Alice; salt=59843...; authCode=eeba9...
Где: authCode = HMAC (ROWID, userName + ipAddr + salt)
Значение соли генерируется случайным образом для каждого файла cookie, который вы производите.Нет необходимости держать это в секрете.