diff options
author | M. Wieschollek <passwords.public@mdns.eu> | 2021-02-27 14:22:18 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-27 14:22:18 +0300 |
commit | 5505d4534d4ade5ab36c1581c825aeb697a61778 (patch) | |
tree | 9ded27c5ce57d0b8c0c9badc466b3bbc36b1a5e1 | |
parent | 9e2dead569998d5897aad949f4beb64d1d88e41b (diff) | |
parent | b5508394ae99ad366f6b796871791293c23ac66c (diff) |
Merge pull request #156 from flo-mic/patch-3
fix password 3 times detected bug
-rw-r--r-- | src/js/Miner/DomMiner.js | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/js/Miner/DomMiner.js b/src/js/Miner/DomMiner.js index b4e20f1..989090c 100644 --- a/src/js/Miner/DomMiner.js +++ b/src/js/Miner/DomMiner.js @@ -3,6 +3,13 @@ import MessageService from '@js/Services/MessageService'; export default class DomMiner { + /** + * + */ + constructor() { + this._knownForms = []; + } + init() { window.addEventListener( 'beforeunload', @@ -35,6 +42,27 @@ export default class DomMiner { for(let form of forms) { this._checkFormForPassword(form); } + this._knownForms = []; + } + + _checkForDuplication(form) { + var exists = false; + this._knownForms.forEach(element => { + if((element.pass == form.pass.value) && + (element.user == form.user.value) && + (element.url == this._getUrl())) { + exists = true; + } + }); + if(exists === false) { + this._knownForms.push( + { + pass: form.pass.value, + user: form.user.value, + url: this._getUrl() + }); + } + return exists; } /** @@ -43,6 +71,7 @@ export default class DomMiner { * @private */ _checkFormForPassword(form) { + if(this._checkForDuplication(form)) return; if(form.pass.value.length !== 0 && form.pass.value.trim().length !== 0) { let info = { url : this._getUrl(), @@ -151,4 +180,4 @@ export default class DomMiner { return null; } -}
\ No newline at end of file +} |