2011-06-24 1 views
0

В свете новых европейских законов: есть ли лучший способ управления сеансами? Файлы cookie кажутся идеальными, потому что мне не нужно ничего хранить на сервере, поэтому сеанс не может быть потерян и масштабируется горизонтально на любое количество серверов.Почему я не занимаюсь управлением сеансами с помощью куки?

+0

Какой новый европейский закон? – Robert

+1

Cookies _are_ perfect, если вы используете только один сеансовый файл cookie и делаете все серверные, а не миллионы файлов cookie, и пока используете HTTPS, чтобы никто не мог украсть файл cookie сеанса. Любое решение _other_, которое вы могли бы придумать для управления сессиями, несомненно, будет иметь гораздо большие недостатки, чем файлы cookie сеансов. –

ответ

0

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

Если вы используете ASP.NET, для этой цели есть множество возможностей, ViewState позволит вам эффективно выполнять то же самое, что и файл cookie, если вам не нужна информация, которая сохраняется на всех сеансах.

Если вы не используете ASP.NET, вам, вероятно, придется написать свои собственные серверные компоненты, которые «установят» ваши сохраненные данные для вас (зашифруйте их, если необходимо, а затем сохраните их в соответствующем скрытом поля), а также «получить» сохраненные данные, когда их извлечение необходимо, путем доступа к значениям скрытых полей и, возможно, расшифровки. Если вы сделаете это правильно, вы можете повторно использовать этот компонент во всех своих проектах.

Я ничего не слышал о новом законе, но первая ссылка на google выглядит как массовая неудача со стороны правительства правительства няни в Великобритании. Мы все знаем, что старые хрупкие законодатели всегда вставляют свой нос в технологическое регулирование хорошо заканчивается (facepalm).

+0

Очевидно, что с этим методом увеличивается стоимость сетевых ресурсов. Существует обмен между ресурсами между использованием клиента для сохранения данных через postbacks по сравнению с сервером. Какой метод лучше всего подходит вам, это будет зависеть от ваших требований и вашего оборудования. Поскольку вы специально спрашивали об использовании клиента, поэтому я рекомендовал вам использовать скрытые поля в теле страницы, которую вы обслуживаете для клиента. Помните, что шифрование этих полей может быть разумным, даже если вы используете HTTPS, потому что в определенных сценариях вы можете не хотеть, чтобы фактический пользователь мог ... –

+0

беспорядок с вашими скрытыми данными (вставить SQL-инъекцию или попытаться дать вам в противном случае неверные данные или неправильные данные для нарушения безопасности вашего приложения в некотором роде формы или формы). –

0

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

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