CFSDN nhấn mạnh vào việc tạo ra giá trị thông qua mã nguồn mở. Chúng tôi cam kết xây dựng một nền tảng chia sẻ tài nguyên để mọi người làm CNTT có thể tìm thấy thế giới tuyệt vời của riêng mình tại đây.
Bài đăng trên blog CFSDN này Vue triển khai mã mẫu để vô hiệu hóa trình duyệt khỏi việc ghi nhớ mật khẩu, được tác giả thu thập và biên soạn. Nếu bạn quan tâm đến bài viết này, vui lòng thích nó.
Tìm thông tin
Một số phương pháp tìm thấy trên Internet:
- Sử dụng autocomplete="off" (nhiều trình duyệt hiện đại không hỗ trợ điều này)
- Sử dụng autocomplete="new-password"
- Thêm một hộp nhập có tên giống với hộp tài khoản thực và hộp mật khẩu
- Sử dụng thuộc tính chỉ đọc và xóa nó khi được tập trung
- Khởi tạo thuộc tính kiểu của hộp nhập thành văn bản và đổi thành mật khẩu khi được chọn
- Sử dụng type="text" để thay thế thủ công nội dung hộp văn bản bằng dấu hoa thị "*" hoặc dấu chấm "●"
Quá trình thực hiện
Các trường được sử dụng.
?
1
2
3
4
5
6
|
dữ liệu() {
trở lại
{
tên người dùng:
''
,
mật khẩu:
''
,
}
}
|
Vì autocomplete="off" không còn được các trình duyệt hiện đại hỗ trợ nữa, tôi đã từ bỏ việc thiết lập hộp mật khẩu và sử dụng autocomplete="new-password" trực tiếp. Tôi đã thử nghiệm rằng Chrome (v88.0.4324.104), Edge (v88.0.705.56) và Firefox (v67) có thể sử dụng nó, nhưng Firefox (v85) vẫn nhắc tôi nhớ mật khẩu.
?
1
2
3
|
"tên người dùng"
loại=
"chữ"
tên=
"chữ"
chỗ giữ chỗ=
"tài khoản"
tự động hoàn thành=
"tắt"
>
"tiền tố"
lớp=
"el-input_icon el-icon-người dùng"
>
"mật khẩu"
loại=
"mật khẩu"
tên=
"mã số"
định danh=
"mã số"
chỗ giữ chỗ=
"mật khẩu"
tự động hoàn thành=
"mật khẩu mới"
>
|
tham khảo:
https://developer.mozilla.org/zh-CN/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion .
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#browser_compatibility .
Trong quá trình giải quyết lời nhắc của Firefox phiên bản cao, tôi đã thử các phương pháp 3/4/5, nhưng kết quả không khả quan. Tuy nhiên, tôi thấy rằng miễn là giá trị trong ô mật khẩu cuối cùng là dấu sao "*" hoặc dấu chấm nhỏ "●", Firefox sẽ không nhắc nhớ mật khẩu (tôi không biết có đúng không, bạn có thể tự kiểm tra), vì vậy tôi đã thêm một trường mới pwdCover để liên kết với ô nhập liệu và giá trị thực tế được truyền bằng mật khẩu.
ngôi đền.
?
1
2
3
|
"tên người dùng"
loại=
"chữ"
tên=
"chữ"
chỗ giữ chỗ=
"tài khoản"
tự động hoàn thành=
"tắt"
>
"tiền tố"
lớp=
"el-input_icon el-icon-người dùng"
>
"pwdCover"
loại=
"mật khẩu"
tên=
"mã số"
định danh=
"mã số"
chỗ giữ chỗ=
"mật khẩu"
tự động hoàn thành=
"mật khẩu mới"
@đầu vào=
"đặt mật khẩu"
>
|
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
kịch bản
dữ liệu() {
trở lại
{
tên người dùng:
''
,
mật khẩu:
''
,
pwdCover:
''
,
}
},
phương pháp:
đăng nhập() {
cái này
.pwdCover =
cái này
.pwdCover.replace(/\S/g,
'●'
);
cái này
.pwdCover =
cái này
.mật khẩu;
},
thiết lập mật khẩu(val) {
cái này
.password = val;
}
}
|
Tôi đã gửi nó cho các đồng nghiệp của tôi trong dự án với sự tự tin hoàn toàn, nhưng hóa ra nó lại là một thất bại. Môi trường tại chỗ như sau:
- Hệ điều hành: Windows 7, Windows 10
- Trình duyệt: Chrome v74.0.3729.108
Sau khi tôi cài đặt cùng phiên bản Google Chrome, tôi thấy vấn đề vẫn không xảy ra. Hệ điều hành của tôi là Windows 10. Tôi không biết vấn đề nằm ở đâu, vì vậy cuối cùng tôi đã chọn phương pháp 6.
cuối cùng
ngôi đền.
?
1
2
3
4
5
6
|
"tên người dùng"
loại=
"chữ"
tên=
"chữ"
chỗ giữ chỗ=
"tài khoản"
tự động hoàn thành=
"tắt"
>
"tiền tố"
lớp=
"el-input_icon el-icon-người dùng"
>
"pwdCover"
loại=
"chữ"
tên=
"mã số"
định danh=
"mã số"
chỗ giữ chỗ=
"mật khẩu"
tự động hoàn thành=
"tắt"
@đầu vào=
"đặt mật khẩu"
>
"tiền tố"
lớp=
"el-icon-khóa"
>
|
kịch bản .
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
hai mươi mốt
hai mươi hai
hai mươi ba
hai mươi bốn
25
26
27
28
29
30
31
32
33
34
35
36
37
|
thiết lập mật khẩu(val) {
hãy để reg = /[0-9a-zA-Z]/g;
cho nDot = /[^●]/g;
cho chỉ số = -1;
để lastChar = void 0;
hãy để realArr =
cái này
.mật khẩu.chia tách(
''
);
hãy để coverArr = val.split(
''
);
hãy để coverLen = val.length;
hãy để realLen =
cái này
.password.length;
coverArr.forEach((el, idx) => {
nếu như
(nDot.test(el)) {
chỉ số = idx;
lastChar = el;
}
});
nếu như
(LastChar && !reg.test(LastChar)) {
coverArr.splice(chỉ số, 1);
cái này
.pwdCover = coverArr.join(
''
);
trở lại
;
}
nếu như
(RealLen < CoverLen) {
realArr.splice(chỉ số, 0, lastChar);
}
khác
nếu như
(coverLen <= realLen && chỉ số !== -1) {
realArr.splice(chỉ số, realLen - (coverLen - 1), lastChar);
}
khác
{
hãy để pos = document.getElementById(
'mật khẩu'
).selectionKết thúc;
realArr.splice(pos, realLen - coverLen);
}
cái này
.pwdCover = val.replace(/\S/g,
'●'
);
cái này
.mật khẩu = realArr.join(
''
);
},
|
Đây là phần cuối của bài viết này về mã mẫu để Vue thực hiện chức năng cấm trình duyệt ghi nhớ mật khẩu. Để biết thêm nội dung liên quan về Vue cấm trình duyệt ghi nhớ mật khẩu, vui lòng tìm kiếm các bài viết trước của tôi hoặc tiếp tục duyệt các bài viết liên quan sau. Tôi hy vọng bạn sẽ ủng hộ tôi trong tương lai! .
Liên kết gốc: https://juejin.cn/post/6924872565672706062 .
Cuối cùng, bài viết này về đoạn code mẫu của Vue để thực hiện chức năng cấm trình duyệt ghi nhớ mật khẩu đã kết thúc. Nếu bạn muốn biết thêm về đoạn code mẫu của Vue để thực hiện chức năng cấm trình duyệt ghi nhớ mật khẩu, vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!