HTML5 Web DB Security - PullRequest
       26

HTML5 Web DB Security

12 голосов
/ 15 апреля 2010

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

Есть ли способ шифрования / скрытия для обеспечения безопасности данных?

Спасибо, D.

Ответы [ 3 ]

20 голосов
/ 15 апреля 2010

Есть две проблемы с локальным хранилищем в HTML5 -

  1. Один веб-сайт читает автономные данные, которые другой веб-сайт хранит в браузере пользователя
  2. Конечный пользователь, напрямую запрашивающий данные вашего сайта в автономном режиме

Для 1 браузеры применяют те же ограничения домена к localStorage (или к поддержке базы данных sqllite, которую имеет safari), поэтому другие веб-сайты не будут иметь доступа к данным, которые вы храните. Однако помните, что если на вашем сайте есть уязвимости XSS, вы сможете украсть данные.

Для 2 вы не можете предотвратить это. Это как cookie - пользователь может выбрать его просмотр / удаление / изменение.

Возможно шифрование данных (см. http://farfarfar.com/scripts/encrypt/),, но бессмысленно. У вас не может быть единого глобального ключа / пароля - потому что злоумышленник может легко определить ключ из кода JavaScript. Используя пароль, введенный пользователем, для шифрования / decrypt возможен, но библиотеки шифрования на стороне клиента не являются зрелыми или недостаточно хорошо протестированы. Вероятно, существует множество способов его взлома.

Итак, пока, по крайней мере, не храните конфиденциальные данные в localStorage.

5 голосов
/ 15 апреля 2010

Вы также можете просмотреть статью на эту тему , написанную автором HTML5 SecureStore Porposal

2 голосов
/ 15 апреля 2010

Если вы храните данные на компьютере пользователя, пользователь всегда может прочитать их, независимо от того, сколько вы их зашифровали [при условии, что вы не используете хэш ...]

Конфиденциальные данные всегда на стороне сервера.

...