Хеширование пароля сайта в Greasemonkey

Есть сайт, который досадно не сохраняет пароли.

Мне пришлось создать этот небезопасный, незащищенный скрипт (который я запускаю с Greasemonkey), чтобы сохранить пароль:

// ==UserScript==
// @name        example.comAutomation
// @include     *example.com/*
// ==/UserScript==

if ( document.location.href == "https://subdomain.example.com/" ) {
    document.querySelector("#x").value = "myEmail";
  document.querySelector("#y").value = "myPassword";
  document.querySelector("#z").click();
}

if ( document.location.href == "https://subdomain.example.com/overview" ) {
    console.info(window.location.href);
  document.location.href = "https://example.com/list"  
}

Предполагая, что я не хочу использовать внешний программное обеспечение для управления паролями (PMS).

Как я могу каким-то образом защитить приведенный выше код с помощью хеширования в Greasemonkey?

Конечно, усиление защиты операционных систем - это хорошо.

Повторяющийся ответ должен быть немного скорректирован для GM4, но у вас будет в любом случае умнее переключиться на Tampermonkey.

Brock Adams 10.04.2018 21:14

Я не рассматриваю это как повторяющийся вопрос, поскольку OP попросил использовать хеширование для безопасный кода. Фреймворк в предложенном ответе не использует хеши и небезопасен, поскольку хранит зашифрованные имя пользователя и пароль в том же месте, что и ключ шифрования. Это означает, что учетные данные могут быть легко расшифрованы злоумышленником, который может либо злонамеренно изменить сценарий, либо получить доступ к хранилищу индексированной БД, где Greasemonkey 4 хранит все свои сценарии и данные (например, через about:debugging в последних версиях Firefox).

JRI 28.04.2018 22:35

Я не могу добавлять ответы, поскольку вопрос заблокирован, но лучшим решением было бы зашифровать пользовательский скрипт и сохранить сами учетные данные с использованием более запоминающейся парольной фразы в качестве ключа, но сохранить хэш этого ключа, а не сам ключ. Хэш используется для проверки правильности ввода парольной фразы, но не может использоваться для расшифровки самостоятельно. В качестве альтернативы, если вы доверяете встроенному диспетчеру паролей Firefox, попросите пользовательский скрипт добавить новую форму входа на страницу, используя простой HTML. Затем Firefox предложит сохранить сами учетные данные и сохранить их в зашифрованном виде под своим главным паролем.

JRI 28.04.2018 22:36
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
43
0

Другие вопросы по теме