Безопасно ли сохранять состояние Vuex в sessionStorage?

Я работаю над веб-приложением с использованием Vue.js / Vuex, и когда пользователь обновляет страницу, состояние теряется.

Я пытаюсь сохранить некоторые состояния в sessionStorage, но я понял, что пользователь может их редактировать и, например, создавать состояние true и превращать его в false.

Мои вопросы:

Может ли пользователь редактировать sessionStorage?

Насколько безопасно хранить состояние в sessionStorage?

Могу ли я сохранить состояние другим способом, не добавляя еще одну зависимость от проекта?

-------------- ОБНОВЛЕНИЕ -----------------

Для людей с подобной проблемой я решил использовать beforeEnter и beforeEach, поэтому вместо этого пытаясь сохранить состояние, я перехожу к конечной точке backend каждый раз при изменении маршрута (с beforeEach) и при каждом обновлении страницы (с beforeEnter).

Спасибо всем за полезные ответы!


person WilsonPena    schedule 18.08.2019    source источник
comment
Все на стороне клиента можно редактировать. Заголовки запросов, файлы cookie, sessionStorage, пользовательские агенты, поля формы, отключение проверки на стороне клиента.   -  person ceejayoz    schedule 18.08.2019


Ответы (1)


Я предполагаю, что вас беспокоит сохранение учетных данных в магазине в sessionStorage. Хранение токенов должно быть нормальным, если у вас есть надежная логика аутентификации / проверки на бэкэнде. Однако не храните пароль.

person francox9    schedule 18.08.2019
comment
Кроме того, до тех пор, пока устройство пользователя не находится в пределах досягаемости человека с плохими намерениями. Они могли практически украсть детали у localStorage или sessionStorage - person Justin; 18.08.2019
comment
Это именно то, что мне нужно было знать. Я собирался сохранить больше разрешений, но посмотрю, смогу ли я переместить их в серверную часть - person WilsonPena; 18.08.2019
comment
Я лично провожу предварительную и внутреннюю валидацию для лучшего UX. Нет ничего плохого в том, чтобы сделать и то, и другое. - person Justin; 19.08.2019