2011-08-18 3 views
11

Какие уязвимости я сталкиваюсь при кодировании веб-приложения, использующего localStorage, пользователя непреднамеренно или намеренно удалять данные локального хранилища?Удаление данных локального хранилища

Я счастлив поставить кнопку «Удалить мои данные», это находится под моим контролем, но существуют ли способы, которыми я могу управлять, если данные локального хранилища могут быть удалены? Или не используется (например, режим инкогнито/режим частного просмотра)?

Благодаря

ответ

8

LocalStorage редактируется пользователем, это похоже на печенье.

Пользователь может удалять/редактировать его, если он хочет, так что вы должны сделать ур тесты на стороне сервера ...

вот пример того, как сердитые птицы взломали ...

http://thenextweb.com/apps/2011/05/11/angry-birds-for-chrome-already-hacked-unlocking-all-levels/

 var i = 0; 
    while (i<=69) { 
     localStorage.setItem('level_star_'+i,'3'); 
     i++; 
     } 
    window.location.reload(); 
10

Любой может позвонить в localStorage.clear() с панели консоли или местоположения в любое время. Можно использовать букмарклет, чтобы делать то же самое.

Относитесь к localStorage с той же волатильностью, с которой вы будете обращаться с печеньем. Предположим, что он может исчезнуть в любое время. Он лучше всего используется для пользовательских настроек и временных данных. Если пользователь очистит его, будьте готовы использовать откаты по умолчанию или начать процесс.

+0

Почему пользовательский (не разработчик) букмарклет очищает localStorage? –

+0

@ livingston_mechanical, я создал кеш-очищающие буклеты для разработки на некоторых сайтах. – zzzzBov

2

Вот что мы нашли, что пользователь может сделать на iPhone IOS4 и iPad IOS4.

Kill Safari Дважды нажмите кнопку «Действие», нажмите и удерживайте кнопку сафари, которая отображается внизу. Когда появится круг с x в середине, щелкните значок x.

Очистить кэш Safari Настройки | Сафари | Очистить кэш

Start Safari обратно

Плохие новости - все сайты локальное хранилище очищается, а не только за вами!

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