Symptom
The bug involves Chrome and Opera browsers version 61 and higher.
When you log in into a site using a username and password saved in browser password list, Chrome randomly fill one text field (<input type="text" />
or <input type="search" />
, etc.) with username used in log in process, regardless its name. This behavior is particularly annoying if you use the popular DataTable jQuery plugin inside an asp.NET Web Form page because this behavior in most cases causes disappearing of data from the table.
To reproduce the behavior:
- Open this page with Chrome, Chrome Canary or Opera (only version 61 or higher, seems to have this problem)
- Login into test page whit this credentials:
- username: guest@magicbusmultimedia.it
- password: mcms2019
- Save credentials into Chrome password list
- Logout with User-> Logout
- Repeat login
The search field above the table is filled erroneously with username used in login process.
Removing username and password from Chrome list restore normal behavior. All browser I've tested (Firefox, Microsoft Internet Explorer, Microsoft Edge, Safari) and versions before 61 work as expected.
test page
Workaround
Adding autocomplete="off"
to form attributes has no effect. The only workaround I've found at the moment is adding a ghost input text field named username to the form. Something like this:
<input name="username" type="text" style="position:fixed; top:-1500px; left:-1500px;" />
This seems to capture Chrome autofill. It's not an elegant solution, but it's the only one I've found.
workaround page