SessionStorage иногда теряется после ухода и возвращения - PullRequest
1 голос
/ 11 апреля 2019

Я использую SessionStorage для хранения частной контекстной информации, необходимой для моего веб-приложения.Я заметил, что иногда при переходе на другой веб-сайт (другой домен, часть потока приложений) и при возвращении снова хранилище сеансов - это не то, как я его покинул.Иногда ничего нет, иногда остается пара свойств.

Я видел, как это происходило в инкогнито Chrome для Windows и в режиме частного просмотра Safari.Для Safari я могу обнаружить приватный просмотр и использовать сессионные куки, однако они будут бессмысленно передаваться по сети, поэтому я не хочу делать это моим основным решением.Также я могу обнаружить его только для Safari, а не для Chrome.

Я не могу найти ни одной статьи, в которой говорится, что это ожидаемое поведение.Тот факт, что это не всегда происходит, делает отладку еще более увлекательной.

Есть ли способ надежно использовать SesionStorage?Или есть какие-либо альтернативы для безопасного хранения этой конфиденциальной информации?

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Используйте LocalStorage вместо использования Session Storage Но не забудьте очистить локальное хранилище, когда вам больше не нужно хранить данные для получения дополнительной информации проверить

0 голосов
/ 11 апреля 2019

Нет. SessionStorage привязан к времени существования контекста просмотра. Этот контекст отличается между браузерами. Из spec :

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

Если вы хотите более устойчивое решение, вы можете использовать LocalStorage .

...