Как можно сохранить временные данные на устройстве пользователя?

Как правильно осуществить разделение хранения данных в формате JSON и HTML разметки на frontend, обеспечивая возможность обновления данных и защиту от изменения ключевых данных?
  • 3 апреля 2024 г. 11:39
Ответы на вопрос 3
Для сохранения временных данных на устройстве пользователя можно использовать различные способы, например:

1. Локальное хранилище браузера (LocalStorage или SessionStorage) - это специальные механизмы хранения данных в браузере. Данные сохраняются в виде ключ-значение и доступны только для конкретного домена.

2. Cookies - это небольшие текстовые файлы, которые хранятся на устройстве пользователя и содержат информацию о посещенных сайтах.

3. Использование баз данных браузера (IndexedDB или WebSQL) - позволяют хранить структурированные данные на устройстве пользователя.

Что касается разделения данных в форматах JSON и HTML разметки на frontend, то можно разместить JSON данные в отдельном файле (например, data.json) и загружать их через AJAX запросы при необходимости. HTML разметку можно хранить непосредственно на странице или в шаблонных файлах (например, с использованием шаблонизаторов как Handlebars или Mustache).

Для обеспечения возможности обновления данных и защиты от изменения ключевых данных рекомендуется использовать механизмы авторизации и аутентификации, чтобы предотвратить нежелательный доступ к данным. Также можно использовать различные методы шифрования (например, HTTPS) для защиты данных от подмены или перехвата.
не понимаю как обеспечить разделенное хранение и связь условного объекта (пусть json)

1. Клиент запрашивает данные с сервера.
2. Варианты:
2.1. Сервер сам рендерит страницу, без помощи клиента.
2.2. С сервера на клиент прилетает json, js на клиенте создает необходимую разметку, подставляя данные из json.
обеспечить изменяемость данных

Пишем условия на js/react, на основание которых будут изменяться данные.
и защиту ключевых данных от изменения

Все, что пришло на клиент - доступно клиенту. Все что пришло от клиента на сервер, по умолчанию опасно и требует проверки.
Данные от изменения защищает шифрование. 

Берёшь jwt, есть ключ, есть токен сгенерированный по этому ключу. - на клиент отправил, клиент сохранил.
При запросе любых данных, ты либо создаёшь токен (регистрация), либо выдаёшь (авторизация), либо проверяешь (любой другой запрос).

Если токен как либо изменялся и ты всё сделал правильно на бэке, токен не пройдёт проверку - пусть изменяет сколько угодно.

Клиенту никогда нельзя доверять.
Данные клиент получает только обращаясь к api.
Похожие вопросы