Для автономного веб-приложения требуются локально сохраненные учетные данные - PullRequest
2 голосов
/ 16 августа 2011

У меня есть веб-приложение, которое может работать в автономном режиме с использованием автономного кэша HTML5. Я храню хэш sha256 пароля пользователя на клиенте, что позволяет мне разрешить пользователю входить в систему локально, когда в автономном режиме, но мне не нужно хранить действительный пароль локально.

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

Я не верю, что могу безопасно хранить пароль на клиенте (переменная javascript подойдет, но при обновлении страницы тогда var выходит из области видимости. Файлы cookie, хранилище сеансов или локальное хранилище могут быть слишком легко просмотрены.

Я уже храню хэш-пароль sha256 локально, но если я открою на сервере метод, позволяющий этой хеш-функции аутентифицировать пользователя, то я также скорее открою систему безопасности.

У кого-нибудь есть какие-нибудь яркие идеи по этому поводу? Спасибо.

(Сервер - ASP.NET MVC C #)

1 Ответ

0 голосов
/ 23 сентября 2011

Вы можете сохранить хешированный пароль в базе данных IndexedDB или WebSQL, поскольку оба из них довольно сложны для чтения - хотя инструменты разработчика Chrome позволяют вам получить к ним доступ, если вы знаете, как, хотя ни один из них не поддерживается в Internet Explorer. Но если ваше приложение работает в автономном режиме, это не имеет значения;)

...