Chuyển hướng một yêu cầu tới /.well-known/change-password
đến URL thay đổi mật khẩu
Thiết lập lệnh chuyển hướng từ /.well-known/change-password
đến trang đổi mật khẩu
của trang web. Việc này sẽ cho phép trình quản lý mật khẩu điều hướng người dùng của bạn
trực tiếp vào trang đó.
Giới thiệu
Như bạn có thể biết, mật khẩu không phải là cách tốt nhất để quản lý tài khoản. May mắn thay, có những công nghệ mới nổi như WebAuthn và các kỹ thuật như mật khẩu một lần đang giúp chúng ta tiến gần hơn đến một thế giới không cần mật khẩu. Tuy nhiên, những công nghệ vẫn đang được phát triển và mọi thứ sẽ không thay đổi nhanh chóng. Nhiều nhà phát triển vẫn sẽ cần xử lý mật khẩu trong ít nhất vài lần tới năm. Trong khi chúng tôi đợi các công nghệ và kỹ thuật mới nổi là điều bình thường, ít nhất chúng tôi có thể làm cho mật khẩu dễ dùng hơn.
Một cách hiệu quả để làm việc này là hỗ trợ tốt hơn cho trình quản lý mật khẩu.
Cách trình quản lý mật khẩu trợ giúp
Trình quản lý mật khẩu có thể được tích hợp vào trình duyệt hoặc cung cấp dưới dạng ứng dụng bên thứ ba. Chúng có thể giúp người dùng theo nhiều cách:
Tự động điền mật khẩu cho trường nhập dữ liệu chính xác: Một số trình duyệt có thể tìm thấy thông tin đầu vào chính xác theo suy đoán ngay cả khi trang web không được tối ưu hoá cho việc này mục đích. Nhà phát triển web có thể giúp trình quản lý mật khẩu bằng cách chú thích HTML chính xác các thẻ đầu vào.
Ngăn chặn lừa đảo: Vì trình quản lý mật khẩu nhớ vị trí của mật khẩu đã ghi lại, mật khẩu chỉ có thể được tự động điền tại các URL thích hợp và không phải tại trang web lừa đảo trực tuyến.
Tạo mật khẩu mạnh và duy nhất: Vì mật khẩu mạnh và duy nhất do trình quản lý mật khẩu tạo và lưu trữ trực tiếp, nên người dùng không cần phải chỉ nhớ một ký tự duy nhất của mật khẩu.
Hiện đã có các hoạt động tạo và tự động điền mật khẩu bằng trình quản lý mật khẩu phân phối tốt cho web, nhưng xem xét vòng đời của chúng, việc cập nhật mật khẩu bất cứ khi nào cần thiết cũng quan trọng như việc tạo và tự động điền. Người nhận Hãy tận dụng đúng cách điều đó, trình quản lý mật khẩu sẽ thêm một tính năng mới:
Phát hiện các mật khẩu dễ bị tấn công và đề xuất cập nhật các mật khẩu đó: Trình quản lý mật khẩu có thể phát hiện các mật khẩu trùng lặp, phân tích entropy và điểm yếu của chúng, và thậm chí phát hiện các mật khẩu có thể đã bị lộ hoặc được biết là không an toàn từ các nguồn như Have I Been Pwned.
Một trình quản lý mật khẩu có thể cảnh báo người dùng về mật khẩu có vấn đề, nhưng sẽ có rất nhiều khó khăn trong việc yêu cầu người dùng điều hướng từ trang chủ sang thay đổi mật khẩu bên cạnh quá trình thực tế thay đổi mật khẩu (điều này khác nhau tuỳ theo trang web). Sẽ dễ dàng hơn nhiều nếu trình quản lý mật khẩu có thể hãy điều hướng người dùng đến thẳng URL thay đổi mật khẩu. Đây là nơi URL phổ biến để thay đổi mật khẩu sẽ hữu ích.
Đặt trước một đường dẫn URL phổ biến chuyển hướng người dùng đến thay đổi trang mật khẩu, trang web có thể dễ dàng chuyển hướng người dùng đến đúng nơi để thay đổi mật khẩu của mình.
Thiết lập "một URL phổ biến để thay đổi mật khẩu"
.well-known/change-password
được đề xuất là một URL phổ biến cho việc thay đổi
mật khẩu. Bạn chỉ cần
để định cấu hình máy chủ nhằm chuyển hướng các yêu cầu đến .well-known/change-password
vào URL thay đổi mật khẩu của trang web.
Ví dụ: giả sử trang web của bạn là https://example.com
và thay đổi
URL của mật khẩu là https://example.com/settings/password
. Bạn chỉ cần đặt
để máy chủ của bạn chuyển hướng yêu cầu
https://example.com/.well-known/change-password
thành
https://example.com/settings/password
Vậy là xong. Để chuyển hướng, hãy sử dụng
mã trạng thái HTTP
302 Found
, 303 See
Other
hoặc 307
Temporary Redirect
.
Ngoài ra, bạn có thể phân phát HTML tại URL .well-known/change-password
bằng
sử dụng một thẻ <meta>
http-equiv="refresh"
.
<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">
Truy cập lại HTML của trang đổi mật khẩu
Mục tiêu của tính năng này là giúp vòng đời mật khẩu của người dùng linh hoạt hơn. Bạn có thể thực hiện hai việc để cho phép người dùng cập nhật mật khẩu của họ mà không cần sự phiền hà:
- Nếu biểu mẫu thay đổi mật khẩu của bạn cần mật khẩu hiện tại, hãy thêm
autocomplete="current-password"
vào thẻ<input>
để giúp tạo mật khẩu tự động điền thông tin đó. - Đối với trường mật khẩu mới (trong nhiều trường hợp, có 2 trường để đảm bảo rằng
người dùng đã nhập chính xác mật khẩu mới), hãy thêm
autocomplete="new-password"
vào thẻ<input>
để giúp tạo mật khẩu người quản lý đề xuất một mật khẩu đã tạo.
Tìm hiểu thêm tại Biểu mẫu đăng nhập tốt nhất .
Cách ứng dụng được sử dụng trong thực tế
Ví dụ
Nhờ có sự hỗ trợ của Apple Safari
implementation (triển khai),
/.well-known/change-password
, đã có trên một số chính sách
các trang web trong một thời gian:
Hãy thử tự mình trải nghiệm và làm tương tự!
Khả năng tương thích với trình duyệt
Một URL phổ biến giúp thay đổi mật khẩu đã được hỗ trợ trong Safari kể từ năm 2019. Trình quản lý mật khẩu của Chrome bắt đầu hỗ trợ trình quản lý mật khẩu này từ phiên bản 86 trở đi (dự kiến phát hành bản ổn định vào cuối tháng 10 năm 2020) và các trình duyệt khác dựa trên Chromium. Firefox coi công cụ này đáng giá triển khai, nhưng chưa cho biết họ có kế hoạch thực hiện việc này kể từ tháng 8 năm 2020.
Hoạt động của trình quản lý mật khẩu của Chrome
Hãy cùng xem cách trình quản lý mật khẩu của Chrome xử lý các mật khẩu dễ bị tấn công.
Trình quản lý mật khẩu của Chrome có thể kiểm tra xem có mật khẩu nào bị lộ không. Bằng cách đi theo chỉ dẫn
để about://settings/passwords
người dùng có thể chạy tính năng Kiểm tra mật khẩu so với các mật khẩu đã lưu trữ
mật khẩu và xem danh sách mật khẩu được đề xuất để cập nhật.
![](https://web.developers.google.cn/static/articles/change-password-url/image/fb-check.png?authuser=5&hl=vi)
Bằng cách nhấp vào nút Thay đổi mật khẩu bên cạnh mật khẩu bạn muốn thay đổi được cập nhật, trình duyệt sẽ:
- Mở trang thay đổi mật khẩu của trang web nếu
/.well-known/change-password
là được thiết lập đúng cách. - Mở trang chủ của trang web nếu bạn chưa thiết lập
/.well-known/change-password
và Google không biết phương án dự phòng.
200 OK
ngay cả /.well-known/change-password
không tồn tại?Trình quản lý mật khẩu cố gắng xác định xem một trang web có hỗ trợ URL phổ biến cho
thay đổi mật khẩu bằng cách gửi yêu cầu đến /.well-known/change-password
trước
thực sự chuyển tiếp người dùng đến URL này. Nếu yêu cầu trả về 404 Not Found
rõ ràng là URL không truy cập được, nhưng phản hồi 200 OK
thì không
nhất thiết có nghĩa là URL đó vẫn truy cập được vì có một số trường hợp hiếm gặp:
- Trang web hiển thị phía máy chủ hiển thị thông báo "Không tìm thấy" khi không có nội dung
nhưng với
200 OK
. - Trang web hiển thị phía máy chủ phản hồi bằng
200 OK
khi không có nội dung sau khi chuyển hướng đến trang "Không tìm thấy" . - Một ứng dụng trang đơn phản hồi bằng shell bằng
200 OK
và hiển thị thông báo "Không phải" đã tìm thấy" ở phía máy khách khi không có nội dung.
Đối với các trường hợp hiếm gặp này, người dùng sẽ được chuyển tiếp đến trạng thái "Không tìm thấy" và điều đó sẽ là nguyên nhân gây nhầm lẫn.
Đó là lý do có một tiêu chuẩn được đề xuất
cơ chế
để xác định xem máy chủ có được định cấu hình để phản hồi với 404 Not Found
hay không
khi thực sự không có nội dung bằng cách yêu cầu một trang ngẫu nhiên. Trên thực tế,
URL cũng được đặt trước:
/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200
.
Chẳng hạn như Chrome sử dụng đường dẫn URL này để xác định xem có thể
thay đổi đúng URL mật khẩu từ /.well-known/change-password
trước.
Khi bạn triển khai /.well-known/change-password
, hãy đảm bảo rằng
máy chủ trả về 404 Not Found
cho bất kỳ nội dung nào không tồn tại.
Phản hồi
Nếu bạn có bất kỳ phản hồi nào về thông số kỹ thuật, vui lòng báo cáo sự cố tới thông số kỹ thuật kho lưu trữ.
Tài nguyên
- Một URL phổ biến về thay đổi Mật khẩu
- Phát hiện độ tin cậy của trạng thái HTTP mã
- Các phương pháp hay nhất về biểu mẫu đăng nhập
Ảnh của Matthew Brodeur trên Unsplash