Файлы cookie только на стороне клиента - PullRequest
7 голосов
/ 10 января 2011

Мне нужно что-то вроде куки, но я специально не хочу, чтобы оно возвращалось на сервер.Я называю это «сессионным cookie-файлом на стороне клиента», но любой разумный механизм был бы полезен.

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

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

Лучшее, что я могу придуматьэто своего рода механизм iframe для хранения данных в переменных javascript, но это ужасно.У кого-нибудь есть идеи, как реализовать что-то подобное?

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

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

Ответы [ 2 ]

10 голосов
/ 11 января 2011

Вы можете использовать JavaScript localStorage объект. В книге Dive Into HTML5 есть отличная глава. Я думаю, что в главе также упоминаются некоторые возможные обходные пути для браузеров, которые не поддерживают localStorage.

5 голосов
/ 10 января 2011

Для того, что вы ищете, я бы сказал, что javascript - это лучшее, что вы можете сделать.

Вы можете извлечь зашифрованные данные на сервер и расшифровать их с помощью javascript на стороне клиента.Нет передачи пароля, нет секрета для пользователя.

Зависит от того, какой алгоритм шифрования вы используете, но есть библиотеки для этого (например, Stanford Javascript Crypto Library )

(но я не понимаю, почему вы говорите о файлах cookie)

Если вас интересует аспект хранения, а не криптография, возможно, вы могли бы рассмотреть переменные сеанса Томаса Франка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...