Корзина покупок/состояние входа в систему — нет файлов cookie?

Печеньки вообще нет. Это возможно? И как именно?

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


person Johnny Appal    schedule 16.03.2011    source источник
comment
сеансы не должны использовать файлы cookie, это просто то, как они обычно делаются, иначе идентификатор сеанса может распространяться через URL-адрес   -  person    schedule 17.03.2011
comment
возможно, сообщите нам, почему у вас есть веская причина не использовать файлы cookie, в этом случае это поможет с предложениями   -  person    schedule 17.03.2011
comment
А распространение сеанса через URL-адреса может привести к сверхлегким уязвимостям фиксации сеанса. Откуда берется требование не использовать файлы cookie? Наилучшие методы сеансов PHP на самом деле диктуют требование сеансов на основе файлов cookie, чтобы предотвратить распространенные атаки фиксации.   -  person Charles    schedule 17.03.2011


Ответы (4)


Старый метод действительно распространял токен как переменную GET или POST на протяжении всего процесса, что легко ломается (отсюда и возможность в настройках сеанса включить его автоматически с помощью url_rewriter.tags).

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

person Wrikken    schedule 16.03.2011

Это не обязательно должно быть скрытым полем, сохраняется параметр URL. У вас есть генератор идентификаторов, и этот идентификатор передается в качестве параметра ?i=xxxxx для каждого URL-адреса. Затем вы сохраняете данные на карточке, связанной с идентификатором.

person Miquel    schedule 16.03.2011

Сессия. Это не файлы cookie. Обратите внимание, что они называются по-разному...

Я реализовал это на одном дыхании для последнего проекта https://github.com/Crinsane/LaravelShoppingcart.

person Cristo    schedule 10.06.2016

Сеансы могут отслеживать пользователя до закрытия браузера.

person SIFE    schedule 16.03.2011
comment
@Miquel они не должны быть. см. выше - person ; 17.03.2011
comment
Я знаю, посмотрите на мой ответ, но у меня сложилось впечатление, что SIFE считает, что сеансы являются автоматическими - person Miquel; 17.03.2011
comment
они волшебные, php будет распространять идентификатор сеанса через URL-адрес без необходимости что-либо делать - person ; 17.03.2011
comment
@Miquel Я предлагаю вам внимательно прочитать, как сеанс работает в PHP и что такое перехват сеанса? - person SIFE; 29.12.2013