Я изучаю офлайновое решение для веб-приложения с помощью HTML5. Функциональность - все, в чем я нуждаюсь, НО хранившие данные могут быть непосредственно запрошены прямо в браузере и поэтому абсолютно небезопасные!
Там должен так или иначе шифровать/скрывать так, чтобы данные были безопасны?
Спасибо, D.
Если вы храните данные на компьютере пользователя, пользователь всегда может их прочитать, независимо от того, как вы его шифруете [при условии, что вы не используете хеш ...]
Конфиденциальные данные всегда передаются на стороне сервера.
Вы также можете посмотреть статью об этом проблема автором HTML5 SecureStore Porposal
Локальное хранилище в HTML5 вызывает две проблемы:
Во-первых, браузеры применяют ограничения одного домена для localStorage (или поддержки базы данных sqllite, которую имеет safari), поэтому другие веб-сайты не будут иметь доступа к данным, которые вы храните. Однако помните, что если на вашем сайте есть XSS-уязвимости, данные можно будет украсть.
Для 2 вы не можете предотвратить это. Это похоже на файл cookie - пользователь может просмотреть / удалить / изменить его.
Возможно шифрование данных (см. http: // farfarfar.com / scripts / encrypt / ), но бессмысленно. У вас не может быть единого глобального ключа / пароля, потому что злоумышленник может легко вычислить ключ из кода javascript. Использование пароля, введенного пользователем, для шифрования / дешифрования возможно, но библиотеки шифрования на стороне клиента недостаточно развиты и протестированы недостаточно хорошо. Скорее всего, есть масса способов его сломать.
Так что пока, по крайней мере, не храните конфиденциальные данные в localStorage.