Безопасность - Локальное хранилище против файлов cookie

Здравствуйте, у меня есть приложение для реагирования, которое использует JWT для аутентификации. Мы храним этот JWT в локальном хранилище, но служба безопасности в нашей команде говорит нам, что он небезопасен, потому что к этому токену можно получить доступ через Javascript.

Вместо этого они просят сохранить его в cookie. Потому что это небезопасно. Но для меня cookie также может быть доступен в js, поэтому я не вижу в этом смысла.

Знаете ли вы, почему хранилище файлов cookie должно быть более безопасным, чем локальное хранилище и хранилище сеансов? Так ли это на самом деле?

Какой самый безопасный способ использовать JWT?

Я не спрашиваю, как мне использовать JWT, но как лучше всего защитить его.


person Kevin    schedule 09.09.2019    source источник
comment
Возможный дубликат Как мне хранить JWT и отправлять их с каждым запросом с помощью реакции   -  person Vassilis Pallas    schedule 09.09.2019
comment
взгляните на третий комментарий этого ответа (не делайте того, что говорит ответ) https://stackoverflow.com/a/39177841/3763848   -  person Vassilis Pallas    schedule 09.09.2019


Ответы (1)


В отличие от данных localStorage, вы можете установить для файла cookie значение HttpOnly, чтобы он не был доступен через javascript код.

См. MDN - безопасные и HttpOnly файлы cookie:

Чтобы помочь смягчить атаки межсайтовых сценариев (XSS), файлы cookie HttpOnly недоступны для API-интерфейса JavaScript Document.cookie; они отправляются только на сервер. Например, файлы cookie, которые сохраняют сеансы на стороне сервера, не должны быть доступны для JavaScript, и должен быть установлен флаг HttpOnly.

Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly
person Nappy    schedule 09.09.2019