0

Это не вопрос, может ли веб-приложение быть безопасным и безопасным для использования!Как скрыть/защитить сеанс/ключ шифрования на стороне клиента javascript из аддона/расширения

Но если у меня есть сеанс или ключ шифрования и как бы скрыть его как можно лучше на стороне клиента с помощью javascript - какой лучший подход?

Я хотел использовать sessionStorage, пока не узнаю, что любое расширение может прочитать это из скрипта содержимого, по крайней мере, в Chrome. На мой взгляд, это большая ошибка разработчиков, поскольку они скрывают javascript веб-страниц от расширения, но позволяют ему видеть веб-хранилище. Всюду говорится, что расширение может видеть только DOM, но я не думаю, что большинство людей думает, что это также включает в себя веб-хранилище!

Итак, как я могу защитить ключ сеанса так, чтобы он находился вне досягаемости расширения? Не удалось зашифровать его, поскольку мне просто нужно скрыть ключ. Проблема в том, что сеанс должен быть действительным для всех страниц сайта, поэтому я не могу просто сохранить его в javascript, так как он обновляется при каждой загрузке страницы.

Печенье на мой взгляд так же плохо!

NB: Не знаю, если это также является проблемой для других браузеров

ответ

4

Расширение, предоставлено разрешение на доступ к вашей странице, может сделать что-нибудь.

код введен как <script> тега из скрипта содержимого в DOM будет выполнять независимо от ПСА в контексте вашей страницы будет полный доступ к вашим условиям JS.

Это не говоря уже об chrome.debugger API.

Таким образом, вы не можете защитить свои клиентские данные от расширений, которые пользователь дал согласие на запуск на вашей странице, так же, как вы не можете защитить свои данные от самого браузера.

+0

Но довольно странно, что код javascript защищен. По моему мнению, сетевое хранилище также должно быть включено, чтобы разрешить какую-то «конфиденциальность» – Beast

+0

Это не защищено; он по умолчанию изолирован, чтобы предотвратить столкновение с кодом, но расширение CAN может сломать этот барьер, если это необходимо; вкратце: расширения защищены от сети, но не наоборот, так как их работа заключается в том, чтобы взаимодействовать с сайтами, которые ничего не знают о расширениях. – Xan