nextcloud / passman-webextension

Webextension for the Passman Nextcloud app. Also offers browser extension & Android app.
https://passman.cc
GNU Affero General Public License v3.0
115 stars 43 forks source link

Non-working site: Netflix #227

Open augustseptember opened 6 years ago

augustseptember commented 6 years ago
### Steps to reproduce 1. Save login on netflix.com with passman firefox-webextension 2. logout 3. Go to Netflix.com again and try to login, seeing this when entering the site: ![netflixlogin](https://user-images.githubusercontent.com/6906270/33571786-6cb72ec8-d931-11e7-91b5-53b38cee6fd6.png) 4. After click on login, getting "Ihr Passwort muss zwischen 4 und 60 Zeichen enthalten" ("Your password must contain between 4 and 60 characters") - login is denied seeing this: ![netflixloginfailed](https://user-images.githubusercontent.com/6906270/33571859-9ae13942-d931-11e7-849d-21b5aeb75c93.png) ### Expected behaviour Login should work ### Actual behaviour It looks alright, but it doesn't work ### Configuration **Operating system**: Ubuntu 16.04 **Browser**: Firefox 57.0.3 **Extensions that might cause interference**: no difference if the other addons are disabled **Passman version**: 2.1.4 **Extension version**: 2.0.4 **Nextcloud version**: 12.0.4 --- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/53237810-non-working-site-netflix?utm_campaign=plugin&utm_content=tracker%2F52236699&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F52236699&utm_medium=issues&utm_source=github).
brantje commented 6 years ago

If you add a space, and remove it, does it work then?

augustseptember commented 6 years ago

Yes, that works

iudex- commented 6 years ago

I looked into this because I also looked into the failed auto-fill on a horrible horrible login page of a polish healthcare provider.

The easy solution for netflix is to remove the "submit" event listener on the form. $("form").removeEventListener("submit", getEventListeners($("form"))["submit"][0].listener)

I didn't look into the event listener further but tried inserting a char via js events to find a more general method to fix this, which might also help on other sites.

But a KeyboardEvent or InputEvent can not be used to insert into an input field (anymore ?). There is a isTrusted flag which differentiates between a real Keyboard event and any created one.

I don't see a general solution that could be added to findForm.js or anywhere to fix this and not break other websites.

What is the general idea to deal with horrible broken websites in this plugin? Is it somehow possible to run custom javascript on a given website just like we can add custom fields? This would at least enable private fixes :)