2009-12-30 8 views
0

Я создаю веб-сайт, на котором пользователь может выбрать элементы списка, которые они видят в своем навигационном меню. Моя идея состоит в том, чтобы хранить элементы меню, которые пользователь выбирает в файле cookie, поскольку это остановит необходимость пользователь должен быть зарегистрированным участником на веб-сайте, можно ли хранить данные в реальном времени в файле cookie и как мне это сделать? Для получения дополнительной информации параметры навигации построены из результата mysql, затем щелкните ссылку, и эта ссылка добавлена ​​в другой список, если они снова нажмут на нее, она будет удалена, мне нужно добавить/удалить эти элементы из файла cookie, как пользователь добавляет/удаляет его из списка.Хранение данных в реальном времени

ответ

2

Я бы использовал cookie только для того, чтобы идентифицировать пользователя и выполнить все варианты вашего меню в MySql.

Получить идентификатор пользователя из файла cookie и запросить db для menu_options и отобразить их.

В любом случае, сохранение данных в файле cookie или в базе данных, когда срок действия файла cookie истекает, так и делает (эффективно) пользователь. Плюс люди все время удаляют куки с помощью чистящих средств, таких как Adware и CCleaner. Я делаю это примерно раз в неделю. Cookie = Gone.

+1

+1. Максимальный размер файлов cookie (я думаю, около 4 КБ), и отправка их вверх и вниз для каждого запроса неэффективна. Гораздо лучше сохранить эти данные там, где они генерируются и используются, то есть на стороне сервера, и только помещают уникальный идентификатор в файл cookie для идентификации пользователя. – Wim

0

Это плохая идея.

Количество cookies, которые может хранить браузер, не определено (однако для большинства браузеров существует жесткий предел). RFC 2109 предлагает не менее 20 куки-файлов на хост и минимальный размер файла cookie 4k. Конечно, последний придерживается большинства браузеров.

Вам также придется реплицировать все функции управления сеансом без необходимости иметь серверное состояние. Вы не хотите, чтобы боль, сбившаяся по этому маршруту, вызовет вас. Храните данные сеанса на стороне сервера.

Пользователю не требуется «вход в систему» ​​для сеанса. Вам просто нужно назначить им автоматическую идентификацию в постоянном файле cookie (замените это, если они когда-либо вошли в систему). И верните сеанс в более долгосрочное хранилище, когда пользователь изменит конфигурацию.

C.

Смежные вопросы