Каковы все методы, чтобы удалить данные локального хранилища?

Мой основной вопрос — каковы возможные методы удаления window.localStorage данные (не window.sessionStorage) из браузера клиента. Один из известных мне способов — перейти на консоль клиента и набрать localStorage.clear(),


Я создаю веб-приложение, которое использует HTML-локальное хранилище для замены сессий PHP и файлов cookie.

У меня есть веб-приложение, которое делает следующее:

  1. Пользователь запрашивает веб-страницу с сервера
  2. Сервер отвечает на страницу с JavaScript, чтобы удалить данные локального хранилища клиента (адрес электронной почты и пароль). Пароль на самом деле является строкой GUID.
  3. Затем скрипт JavaScript отправляет в качестве пост-запроса с адресом электронной почты и паролем на сервер. Переменные электронной почты и пароля могут быть пустыми, если пользователь является новым, или могут содержать значения, если пользователь является возвращающимся пользователем.
  4. Сервер проверяет, существует ли пользователь или не существует.
  5. Если пользователь не существует, сервер отправляет страницу входа
  6. Если пользователь существует, сервер отправляет запрошенную страницу
  7. Как только пользователь готов к работе, каждый раз, когда пользователь запрашивает любую веб-страницу с веб-сервера, происходят две вещи: 1) Каждый раз, когда пользователь запрашивает страницу, запрос будет содержать данные локального хранилища пользователя (адрес электронной почты и пароль) 2 Каждый раз, когда пользователь запрашивает страницу, сервер выполняет запрос к базе данных, чтобы проверить, существует ли пользователь.

Мои вопросы:
1) Какие проблемы безопасности
2) Есть ли лучший способ? Я не хочу использовать сеансы или куки.

0

Решение

Я создаю веб-приложение, которое использует HTML-локальное хранилище для замены сессий PHP и файлов cookie.

Локальное хранилище — это решение, направленное на замену ни того, ни другого. Локальное хранилище предназначено для хранения данных на стороне клиента. Файлы cookie предназначены для идентификации клиентов на уровне HTTP. Сеансы PHP предназначены для хранения данных на стороне сервера, обычно с ключом cookie.

Пароль на самом деле является строкой GUID.

GUID на самом деле не случайны. В зависимости от используемого алгоритма частью GUID является MAC-адрес генерирующего сервера. Далее также используется метка времени. Вы остались с небольшой энтропией. Смотрите также: Являются ли GUID хорошими паролями?

Затем скрипт JavaScript отправляет в качестве пост-запроса с адресом электронной почты и паролем на сервер.

Каждый раз, когда пользователь запрашивает страницу, запрос будет содержать данные локального хранилища пользователя (адрес электронной почты и пароль)

При отправке пароля по проводам, как это происходит, вы даете злоумышленникам предсказуемую и частую передачу учетных данных. Как минимум, это должно быть сделано по безопасному каналу (HTTPS). В этот момент ваша безопасность не так уж и страшна.

Хитрость в том, чтобы другие не могли получить доступ к локальному хранилищу. Будьте в курсе того, какие скрипты вы включаете на своей странице. (Если вы включите некоторые аналитические или рекламные сценарии, например, он будет иметь доступ к этим данным локального хранилища.)

И снова, используйте HTTPS, чтобы люди не возились с транзитной страницей.

Лучшим способом было бы использовать сеансы с вращающимся идентификатором сессии. «Пароль» становится идентификатором сеанса и меняется для каждого запроса. Это гораздо безопаснее, чем ожидать от пользователя слабого пароля, который редко меняется. Фактическое имя пользователя и пароль передаются по сети только один раз.

2

Другие решения

Других решений пока нет …