Хранит ли электрон cookie в главном окне в памяти или на жестком диске? Если жесткий диск, то где? - PullRequest
0 голосов
/ 13 марта 2020

Работая над приложением Electron, я понял, что токен авторизации, который я храню в файле Cook ie, не сохраняется в файле 'Cook ie' в его файлах кэша, которые находятся по пути, указанному здесь в этот пост Как очистить данные кеша в Electron (атомная оболочка)? .

Поскольку я не знаю, как работают Electron или Chromium, я надеялся, что кто-нибудь поможет мне ответить следующие вопросы:

  1. Сохраняет ли Electron файлы cookie из «главного окна» * в памяти или в файле на жестком диске? Если он хранит его на жестком диске, где и в каком именно файле? (Мне нужна эта информация, чтобы оценить проблему безопасности)
  2. Было бы также полезно узнать, зашифрован ли повар ie, хранящийся в электронном виде и использующий хром.

* Что я имею в виду под mainWindow, это когда я открываю свое веб-приложение в окне с помощью электронного кода и затем позволяю пользователю войти в систему. Мне нужно знать, где хранится тот повар ie, который сохраняется после входа в систему.

Если у кого-то есть какая-либо информация об этом, сообщите мне.

1 Ответ

1 голос
/ 13 марта 2020

Сохраняет ли Electron файлы cookie из «главного окна» * в памяти или в файле на жестком диске? Если он хранит его на жестком диске, где и в каком именно файле? (Мне нужна эта информация для оценки проблемы безопасности)

В Electron Cookies хранятся для каждой сессии.

Допустим, вы используя сеанс BrowserWindow WebContents, чтобы установить повара ie следующим образом:

const { BrowserWindow } = require('electron')

let win = new BrowserWindow({ width: 800, height: 600 })
win.loadURL('http://github.com')

const ses = win.webContents.session
const cookie = { url: 'http://www.github.com', name: 'dummy_name', value: 'dummy' }
await ses.cookies.set(cookie);

Ваши файлы cookie должны быть доступны в вашем пути к данным пользователя, к которому вы можете получить доступ через app.getPath('userData') API.

Обратите внимание, что подкаталог зависит от того, какой сеанс вы используете. Например, если вы используете API session.fromPartition('persist:your-part-name), вам нужно перейти в папку Partitions/your-part-name.

Было бы также полезно узнать, Повар ie, сохраненный электроном, который использует Chromium, каким-то образом зашифрован.

Cookies в Chromium действительно зашифрованы ( см. список изменений ). Электрон использует реализацию Chromium.

...