#2381, can now remove autocomplete on login page.
Ylian Saint-Hilaire committed
Mar 18, 2021 at 22:13 UTC
302f1b0bba49b423f9e138f52cff58ae4d180890
3 files changed
+31
-30
views/login.handlebars
+14
-14
@@ -54,11 +54,11 @@
54
<table>
55
<tr>
56
<td id=loginusername align=right width=100>Username:</td>
57
- <td><input id=username autocomplete="username" type=text maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event) /></td>
57
+ <td><input id=username {{{autocomplete}}}="username" type=text maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event) /></td>
58
</tr>
59
<tr>
60
<td align=right>Password:</td>
61
- <td><input id=password autocomplete="current-password" type=password maxlength=256 name=password onchange=validateLogin(2) onkeyup=validateLogin(2,event) /></td>
61
+ <td><input id=password {{{autocomplete}}}="current-password" type=password maxlength=256 name=password onchange=validateLogin(2) onkeyup=validateLogin(2,event) /></td>
62
</tr>
63
<tr>
64
<td><div id=showPassHintLink style=display:none><a onclick="return showPassHint(event);" href="#" style="cursor:pointer">Show Hint</a></div></td>
@@ -99,27 +99,27 @@
99
<table>
100
<tr id="nuUserRow">
101
<td id="nuUser" align=right width=100>Username:</td>
102
- <td><input id=ausername type=text autocomplete="username" name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event) /></td>
102
+ <td><input id=ausername type=text {{{autocomplete}}}="username" name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event) /></td>
103
</tr>
104
<tr>
105
<td id="nuEmail" align=right width=100>Email:</td>
106
- <td><input id=aemail type=text autocomplete="email" inputmode="email" name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event) /></td>
106
+ <td><input id=aemail type=text {{{autocomplete}}}="email" inputmode="email" name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event) /></td>
107
</tr>
108
<tr>
109
<td id="nuPass1" align=right>Password:</td>
110
- <td><input id=apassword1 type=password name=password1 autocomplete="new-password" maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3,event) onkeyup=validateCreate(3,event) /></td>
110
+ <td><input id=apassword1 type=password name=password1 {{{autocomplete}}}="new-password" maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3,event) onkeyup=validateCreate(3,event) /></td>
111
</tr>
112
<tr>
113
<td id="nuPass2" align=right>Password:</td>
114
- <td><input id=apassword2 type=password name=password2 autocomplete="new-password" maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4,event) onkeyup=validateCreate(4,event) /></td>
114
+ <td><input id=apassword2 type=password name=password2 {{{autocomplete}}}="new-password" maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4,event) onkeyup=validateCreate(4,event) /></td>
115
</tr>
116
<tr id="createPanelHint" style="display:none">
117
<td id="nuHint" align=right>Password Hint:</td>
118
- <td><input id=apasswordhint type=text name=apasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5,event) onkeyup=validateCreate(5,event) /></td>
118
+ <td><input id=apasswordhint type=text name=apasswordhint {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5,event) onkeyup=validateCreate(5,event) /></td>
119
</tr>
120
<tr id=newAccountPass title="Enter the account creation token">
121
<td id="nuToken" align=right>Creation Token:</td>
122
- <td><input id=anewaccountpass type=password name=anewaccountpass autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6,event) onkeyup=validateCreate(6,event) /></td>
122
+ <td><input id=anewaccountpass type=password name=anewaccountpass {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6,event) onkeyup=validateCreate(6,event) /></td>
123
</tr>
124
<tr>
125
<td colspan=2>
@@ -156,7 +156,7 @@
156
</form>
157
</div>
158
<div id=tokenpanel style="display:none">
159
- <form method=post autocomplete=off>
159
+ <form method=post {{{autocomplete}}}=off>
160
<input type=hidden name=action value=tokenlogin />
161
<input type=hidden name=hwstate value="{{{hwstate}}}" />
162
<div id=message4></div>
@@ -164,7 +164,7 @@
164
<tr>
165
<td align=right width=100>Login token:</td>
166
<td>
167
- <input id=tokenInput autocomplete="one-time-code" inputmode="numeric" type=text name=token maxlength=50 onchange=checkToken(event) onpaste=checkToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event) /><br />
167
+ <input id=tokenInput {{{autocomplete}}}="one-time-code" inputmode="numeric" type=text name=token maxlength=50 onchange=checkToken(event) onpaste=checkToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event) /><br />
168
<input id=hwtokenInput type=text name=hwtoken style="display:none" />
169
</td>
170
</tr>
@@ -223,15 +223,15 @@
223
<table>
224
<tr>
225
<td id="rnuPass1" width=100 align=right>Password:</td>
226
- <td><input id=rapassword1 type=password name=rpassword1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event) /></td>
226
+ <td><input id=rapassword1 type=password name=rpassword1 {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event) /></td>
227
</tr>
228
<tr>
229
<td id="rnuPass2" align=right>Password:</td>
230
- <td><input id=rapassword2 type=password name=rpassword2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event) /></td>
230
+ <td><input id=rapassword2 type=password name=rpassword2 {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event) /></td>
231
</tr>
232
<tr id="resetpasswordpanelHint" style="display:none">
233
<td id="rnuHint" align=right>Password Hint:</td>
234
- <td><input id=rapasswordhint type=text name=rpasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event) /></td>
234
+ <td><input id=rapasswordhint type=text name=rpasswordhint {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event) /></td>
235
</tr>
236
<tr>
237
<td colspan=2>
@@ -783,7 +783,7 @@
783
784
function changeEmailAddress() {
785
var email = Q('unconfirmedEmail').innerHTML;
786
- var x = addHtmlValue("Email", '<input id=dp1email style=width:230px maxlength=256 value="' + email + '" autocomplete=off onchange=validateEmailAddress() onkeyup=validateEmailAddress() />');
786
+ var x = addHtmlValue("Email", '<input id=dp1email style=width:230px maxlength=256 value="' + email + '" {{{autocomplete}}}=off onchange=validateEmailAddress() onkeyup=validateEmailAddress() />');
787
setDialogMode(1, "Email Confirmation", 3, changeEmailAddressEx, x);
788
validateEmailAddress();
789
}
views/login2.handlebars
+16
-16
@@ -46,12 +46,12 @@
46
<table style="width:100%">
47
<tr>
48
<td>
49
- <input id=username title="Username" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" autocomplete="username" placeholder="Username" type=text maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event) />
49
+ <input id=username title="Username" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" {{{autocomplete}}}="username" placeholder="Username" type=text maxlength=64 name=username onchange=validateLogin(1) onkeyup=validateLogin(1,event) />
50
</td>
51
</tr>
52
<tr>
53
<td>
54
- <input id=password title="Password" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" autocomplete="current-password" placeholder="Password" type=password maxlength=256 name=password onchange=validateLogin(2) onkeyup=validateLogin(2,event) />
54
+ <input id=password title="Password" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" {{{autocomplete}}}="current-password" placeholder="Password" type=password maxlength=256 name=password onchange=validateLogin(2) onkeyup=validateLogin(2,event) />
55
</td>
56
</tr>
57
<tr>
@@ -99,27 +99,27 @@
99
<table>
100
<tr id="nuUserRow">
101
<td id="nuUser" align=right width=100>Username:</td>
102
- <td><input id=ausername type=text autocomplete="username" name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event) /></td>
102
+ <td><input id=ausername type=text {{{autocomplete}}}="username" name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event) /></td>
103
</tr>
104
<tr>
105
<td id="nuEmail" align=right width=100>Email:</td>
106
- <td><input id=aemail type=text autocomplete="email" inputmode="email" name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event) /></td>
106
+ <td><input id=aemail type=text {{{autocomplete}}}="email" inputmode="email" name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event) /></td>
107
</tr>
108
<tr>
109
<td id="nuPass1" align=right>Password:</td>
110
- <td><input id=apassword1 type=password name=password1 autocomplete="new-password" maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3,event) onkeyup=validateCreate(3,event) /></td>
110
+ <td><input id=apassword1 type=password name=password1 {{{autocomplete}}}="new-password" maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3,event) onkeyup=validateCreate(3,event) /></td>
111
</tr>
112
<tr>
113
<td id="nuPass2" align=right>Password:</td>
114
- <td><input id=apassword2 type=password name=password2 autocomplete="new-password" maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4,event) onkeyup=validateCreate(4,event) /></td>
114
+ <td><input id=apassword2 type=password name=password2 {{{autocomplete}}}="new-password" maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4,event) onkeyup=validateCreate(4,event) /></td>
115
</tr>
116
<tr id="createPanelHint" style="display:none">
117
<td id="nuHint" align=right>Password Hint:</td>
118
- <td><input id=apasswordhint type=text name=apasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5,event) onkeyup=validateCreate(5,event) /></td>
118
+ <td><input id=apasswordhint type=text name=apasswordhint {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5,event) onkeyup=validateCreate(5,event) /></td>
119
</tr>
120
<tr id=newAccountPass title="Enter the account creation token">
121
<td id="nuToken" align=right>Creation Token:</td>
122
- <td><input id=anewaccountpass type=password name=anewaccountpass autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6,event) onkeyup=validateCreate(6,event) /></td>
122
+ <td><input id=anewaccountpass type=password name=anewaccountpass {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6,event) onkeyup=validateCreate(6,event) /></td>
123
</tr>
124
<tr>
125
<td colspan=2>
@@ -142,7 +142,7 @@
142
<table style="width:100%;margin-top:4px;margin-bottom:4px">
143
<tr>
144
<td>
145
- <input id=remail title="Email" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" autocomplete="username" placeholder="Email" type=text maxlength=256 name=email onchange=validateReset() onkeyup=validateReset(event) />
145
+ <input id=remail title="Email" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" {{{autocomplete}}}="username" placeholder="Email" type=text maxlength=256 name=email onchange=validateReset() onkeyup=validateReset(event) />
146
</td>
147
</tr>
148
<tr>
@@ -156,14 +156,14 @@
156
</form>
157
</div>
158
<div id=tokenpanel style="display:none">
159
- <form method=post autocomplete=off>
159
+ <form method=post {{{autocomplete}}}=off>
160
<input type=hidden name=action value=tokenlogin />
161
<input type=hidden name=hwstate value="{{{hwstate}}}" />
162
<div id=message4></div>
163
<table style="width:100%">
164
<tr>
165
<td>
166
- <input id=tokenInput autocomplete="one-time-code" title="Token" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" placeholder="Token" type=text maxlength=50 name=token onchange=checkToken(event) onpaste=resetCheckToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event) /><br />
166
+ <input id=tokenInput {{{autocomplete}}}="one-time-code" title="Token" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" placeholder="Token" type=text maxlength=50 name=token onchange=checkToken(event) onpaste=resetCheckToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event) /><br />
167
<input id=hwtokenInput type=text name=hwtoken style="display:none" />
168
</td>
169
</tr>
@@ -201,7 +201,7 @@
201
<table style="width:100%">
202
<tr>
203
<td>
204
- <input id=resetTokenInput autocomplete="one-time-code" title="Token" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" placeholder="Token" type=text maxlength=50 name=token onchange=resetCheckToken(event) onpaste=resetCheckToken(event) onkeyup=resetCheckToken(event) onkeydown=resetCheckToken(event) /><br />
204
+ <input id=resetTokenInput {{{autocomplete}}}="one-time-code" title="Token" style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#FFF8CC" placeholder="Token" type=text maxlength=50 name=token onchange=resetCheckToken(event) onpaste=resetCheckToken(event) onkeyup=resetCheckToken(event) onkeydown=resetCheckToken(event) /><br />
205
<input id=resetHwtokenInput type=text name=hwtoken style="display:none" />
206
</td>
207
</tr>
@@ -235,15 +235,15 @@
235
<table>
236
<tr>
237
<td id="rnuPass1" width=100 align=right>Password:</td>
238
- <td><input id=rapassword1 type=password name=rpassword1 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event) /></td>
238
+ <td><input id=rapassword1 type=password name=rpassword1 {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event) /></td>
239
</tr>
240
<tr>
241
<td id="rnuPass2" align=right>Password:</td>
242
- <td><input id=rapassword2 type=password name=rpassword2 autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event) /></td>
242
+ <td><input id=rapassword2 type=password name=rpassword2 {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event) /></td>
243
</tr>
244
<tr id="resetpasswordpanelHint" style="display:none">
245
<td id="rnuHint" align=right>Password Hint:</td>
246
- <td><input id=rapasswordhint type=text name=rpasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event) /></td>
246
+ <td><input id=rapasswordhint type=text name=rpasswordhint {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event) /></td>
247
</tr>
248
<tr>
249
<td colspan=2>
@@ -798,7 +798,7 @@
798
799
function changeEmailAddress() {
800
var email = Q('unconfirmedEmail').innerHTML;
801
- var x = addHtmlValue("Email", '<input id=dp1email style=width:230px maxlength=256 value="' + email + '" autocomplete=off onchange=validateEmailAddress() onkeyup=validateEmailAddress() />');
801
+ var x = addHtmlValue("Email", '<input id=dp1email style=width:230px maxlength=256 value="' + email + '" {{{autocomplete}}}=off onchange=validateEmailAddress() onkeyup=validateEmailAddress() />');
802
setDialogMode(1, "Email Confirmation", 3, changeEmailAddressEx, x);
803
validateEmailAddress();
804
}
webserver.js
+1
@@ -6510,6 +6510,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
6510
}
6511
xargs.extitle = encodeURIComponent(xargs.title).split('\'').join('\\\'');
6512
xargs.domainurl = domain.url;
6513
+ xargs.autocomplete = (domain.autocomplete === false)?'x':'autocomplete'; // This option allows autocomplete to be turned off on the login page.
6514
if (typeof domain.hide == 'number') { xargs.hide = domain.hide; }
6515
return xargs;
6516
}