Лучшие практики для «отключить все настройки файлов cookie» и зарегистрированным пользователям / тележками

StackOverflow https://stackoverflow.com/questions/3798149

Вопрос

Как вы обрабатываете держать пользователя войти в систему или обновление корзины, когда вы не можете использовать сеансы? Добавление UserID или CARTID на скрытые поля ввода, похоже на недостаток безопасности

Это было полезно?

Решение

Добавление сессионного удостоверения личности в каждую форму (и каждую обычную ссылку на внешних формах тоже, если вы хотите иметь возможность сохранить просмотр со стороны просмотра), действительно так, как он был традиционно выполнен, когда вы не можете использовать файлы cookie.

Это такая боль для реализации параметров-сеансов (с уродливым /page.php?session=459gj0tv789yn- Ссылки на списках, он разбивает кэся, и пользователи не могут копировать и-вставлять ссылки в случае случайных делится сеансами. По этим причинам большинство сайтов больше не беспокоится с этим, и просто требуют файлов cookie.

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

Другие советы

Ну, либо вы должны хранить идентификатор сеанса в файле cookie или в параметре строки запроса.

Вы правы, что используя параметр - это защитный недостаток. Все, что кто-то должен сделать, это поделиться своим URL, и они отдали свою идентификацию сайта.

Некоторые рамки, такие как рельсы, не позволяйте использовать сеансы, если файлы cookie не доступны, и лично я думаю, что это приемлемая позиция, если вы серьезно относитесь к безопасности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top