Рекомендации по настройке «отключить все куки» и вошедшим в систему пользователям / корзинам - PullRequest
1 голос
/ 26 сентября 2010

Как вы обращаетесь с тем, что пользователь входит в систему или обновляет корзину, когда вы не можете использовать сеансы? добавление userId или cartId к скрытым полям ввода похоже на уязвимость безопасности

Ответы [ 2 ]

1 голос
/ 26 сентября 2010

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

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

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

1 голос
/ 26 сентября 2010

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

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

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

...