Можно ли хранить идентификатор сеанса в localStorage?
безопасно ли хранить ID пользователя в сессии localStorage? На w3.org сайт говорят
агенты пользователя должны вызывать исключение SECURITY_ERR всякий раз, когда элементы объекта хранения, первоначально возвращенные localStorage атрибут доступны скрипты эффективная сценарий происхождения то же самое, что и происхождение документа объекта Window, на котором атрибут localStorage был доступный.
значит ли это, что localStorage может использоваться для конфиденциальных данных?
2 ответов
Это зависит от того, что вы подразумеваете под "безопасно"?
localStorage примерно так же безопасен, как файл cookie с ограниченным доступом. С веб-страниц, он может быть доступен только страниц из того же домена. Миллионы сайтов хранят идентификаторы сеансов в файлах cookies, которые имеют примерно те же ограничения безопасности, что и localStorage.
вне веб-страниц ни localStorage, ни cookies не защищены от доступа других программ или даже веб-инструментов отладки, работающих на том же компьютер.
httpOnly
cookies обеспечивают уровень защиты XSS, который localStorage
не дает:
-
httpOnly
cookies недоступны из [потенциально вредоносных] JS. -
localStorage
и доступ из JS.
идентификаторы сеанса должны храниться в httpOnly
secure
печенье.