Các phương pháp hay nhất về biểu mẫu đăng ký

Giúp người dùng của bạn đăng ký, đăng nhập và quản lý chi tiết tài khoản của họ một cách đơn giản nhất.

Nếu người dùng cần đăng nhập vào trang web của bạn, thì bạn cần thiết kế biểu mẫu đăng ký hợp lệ. Điều này đặc biệt đúng với những người có kết nối kém, dùng thiết bị di động, lúc vội vàng hoặc bị căng thẳng. Biểu mẫu đăng ký được thiết kế kém thường có tỷ lệ thoát cao. Mỗi lượt thoát có thể đồng nghĩa với việc một người dùng bị mất phương tiện và không hài lòng chứ không chỉ là cơ hội đăng ký bị bỏ lỡ.

Sau đây là ví dụ về một biểu mẫu đăng ký rất đơn giản thể hiện tất cả các phương pháp hay nhất:

Danh sách kiểm tra

Tránh đăng nhập nếu có thể

Trước khi bạn triển khai một biểu mẫu đăng ký và yêu cầu người dùng tạo một tài khoản trên trang web của mình, hãy cân nhắc xem liệu bạn có thực sự cần làm vậy hay không. Bất cứ khi nào có thể, bạn nên tránh dùng các tính năng kiểm soát sau khi đăng nhập.

Biểu mẫu đăng ký tốt nhất là không cần biểu mẫu đăng ký!

Bằng cách yêu cầu người dùng tạo tài khoản, bạn sẽ xen vào giữa họ và những gì họ đang cố gắng đạt được. Bạn đang đề nghị và đề nghị người dùng tin tưởng bạn cung cấp dữ liệu cá nhân. Mọi mật khẩu và mục dữ liệu mà bạn lưu trữ đều dẫn đến "khoản nợ dữ liệu" về quyền riêng tư và bảo mật, trở thành chi phí và trách nhiệm pháp lý đối với trang web của bạn.

Nếu lý do chính bạn yêu cầu người dùng tạo tài khoản là để lưu thông tin giữa các thao tác điều hướng hoặc phiên duyệt web, hãy cân nhắc sử dụng bộ nhớ phía máy khách. Đối với các trang web mua sắm, việc buộc người dùng tạo tài khoản để mua hàng được trích dẫn là lý do chính khiến họ bỏ giỏ hàng. Bạn nên đặt tính năng thanh toán không cần đăng nhập làm mặc định.

Nêu rõ ràng quy trình đăng nhập

Hãy nêu rõ cách tạo tài khoản trên trang web của bạn, ví dụ như bằng nút Đăng nhập hoặc Đăng nhập ở trên cùng bên phải của trang. Tránh sử dụng biểu tượng không rõ ràng hoặc từ ngữ mơ hồ ("Lên tàu!", "Tham gia cùng chúng tôi") và không ẩn thông tin đăng nhập trong trình đơn điều hướng. Chuyên gia về khả năng hữu dụng Steve Krug đã tóm tắt phương pháp liên quan đến khả năng hữu dụng của trang web sau đây: Đừng làm tôi nghĩ gì! Nếu bạn cần thuyết phục những người khác trong nhóm web của mình, hãy dùng số liệu phân tích để cho thấy tác động của các lựa chọn khác nhau.

Hai ảnh chụp màn hình về một trang web thương mại điện tử mô phỏng được xem trên chiếc điện thoại Android. Liên kết bên trái sử dụng biểu tượng cho đường liên kết đăng nhập hơi không rõ ràng; biểu tượng bên phải chỉ đơn giản là "Đăng nhập"
Đảm bảo việc đăng nhập trở nên rõ ràng. Một biểu tượng có thể không rõ ràng, nhưng nút hoặc đường liên kết Đăng nhập thì rõ ràng.
Ảnh chụp màn hình về bước đăng nhập trong Gmail: một trang, cho thấy nút Đăng nhập, khi người dùng nhấp vào, sẽ dẫn đến biểu mẫu cũng có đường liên kết Tạo tài khoản.
Trang đăng nhập của Gmail có một đường liên kết để tạo tài khoản.
Ở cửa sổ có kích thước lớn hơn kích thước hiển thị ở đây, Gmail sẽ hiển thị đường liên kết Đăng nhập và nút Tạo tài khoản.

Hãy nhớ liên kết các tài khoản cho những người dùng đăng ký thông qua nhà cung cấp danh tính như Google cũng như những người đăng ký bằng email và mật khẩu. Bạn có thể thực hiện việc này dễ dàng nếu có thể truy cập vào địa chỉ email của người dùng từ dữ liệu hồ sơ từ nhà cung cấp danh tính và khớp hai tài khoản. Đoạn mã dưới đây cho biết cách truy cập vào dữ liệu email của một người dùng đã đăng nhập bằng Google.

// auth2 is initialized with gapi.auth2.init()
if (auth2.isSignedIn.get()) {
  var profile = auth2.currentUser.get().getBasicProfile();
  console.log(`Email: ${profile.getEmail()}`);
}

Nêu rõ cách truy cập thông tin tài khoản

Khi người dùng đã đăng nhập, hãy nêu rõ cách truy cập thông tin tài khoản. Cụ thể, hãy hướng dẫn cách thay đổi hoặc đặt lại mật khẩu.

Cắt lộn xộn biểu mẫu

Trong quy trình đăng ký, việc của bạn là giảm thiểu sự phức tạp và giúp người dùng tập trung. Sắp xếp gọn gàng. Đây không phải là thời điểm để bạn bị phân tâm và cám dỗ!

Đừng khiến người dùng sao lãng khi hoàn tất quy trình đăng ký.

Khi đăng ký, hãy yêu cầu càng ít càng tốt. Chỉ thu thập dữ liệu bổ sung của người dùng (chẳng hạn như tên và địa chỉ) khi cần và khi người dùng nhận thấy lợi ích rõ ràng từ việc cung cấp dữ liệu đó. Xin lưu ý rằng mọi mục dữ liệu mà bạn giao tiếp và lưu trữ đều phải chịu chi phí và trách nhiệm pháp lý.

Đừng nhập thêm nhiều thông tin chỉ để đảm bảo người dùng nhận được đúng thông tin liên hệ. Điều này làm chậm quá trình hoàn thành biểu mẫu và không hợp lý nếu các trường biểu mẫu được tự động điền. Thay vào đó, hãy gửi mã xác nhận cho người dùng sau khi họ đã nhập thông tin liên hệ, rồi tiếp tục tạo tài khoản sau khi họ phản hồi. Đây là một kiểu đăng ký phổ biến: người dùng đã quen với việc này.

Bạn nên cân nhắc việc đăng nhập không cần mật khẩu bằng cách gửi cho người dùng mã mỗi khi họ đăng nhập trên một thiết bị hoặc trình duyệt mới. Các trang web như Slack và Medium sử dụng một phiên bản của dịch vụ này.

Đăng nhập mà không cần mật khẩu trên medium.com.

Giống như tính năng đăng nhập liên kết, tính năng này mang lại thêm lợi ích là bạn không phải quản lý mật khẩu của người dùng.

Cân nhắc thời lượng phiên

Dù áp dụng phương pháp tiếp cận nào đối với danh tính người dùng, bạn cần phải đưa ra quyết định cẩn thận về thời lượng phiên: thời lượng người dùng duy trì đăng nhập và điều gì có thể khiến bạn đăng xuất họ.

Hãy cân nhắc xem người dùng của bạn đang sử dụng thiết bị di động hay máy tính và liệu họ đang chia sẻ trên máy tính hay thiết bị dùng chung.

Giúp trình quản lý mật khẩu đề xuất và lưu trữ mật khẩu một cách an toàn

Bạn có thể giúp trình quản lý mật khẩu của bên thứ ba và trình quản lý tích hợp sẵn đề xuất và lưu trữ mật khẩu để người dùng không cần phải chọn, ghi nhớ hay nhập mật khẩu. Trình quản lý mật khẩu hoạt động tốt trong các trình duyệt hiện đại, đồng bộ hoá các tài khoản trên các thiết bị, ứng dụng web và ứng dụng dành riêng cho nền tảng, cũng như cho các thiết bị mới.

Điều này cực kỳ quan trọng để viết mã biểu mẫu đăng ký chính xác, đặc biệt là phải sử dụng đúng các giá trị tự động hoàn tất chính xác. Đối với các biểu mẫu đăng ký, hãy sử dụng autocomplete="new-password" cho mật khẩu mới và thêm giá trị tự động hoàn thành chính xác vào các trường khác trên biểu mẫu bất cứ khi nào có thể, chẳng hạn như autocomplete="email"autocomplete="tel". Bạn cũng có thể giúp người quản lý mật khẩu bằng cách sử dụng các giá trị nameid khác nhau trong các biểu mẫu đăng ký và đăng nhập, cho chính phần tử form, cũng như mọi phần tử input, selecttextarea.

Bạn cũng nên sử dụng thuộc tính type thích hợp để cung cấp bàn phím phù hợp trên thiết bị di động và bật tính năng xác thực cơ bản tích hợp sẵn của trình duyệt. Bạn có thể tìm hiểu thêm trong bài viết Các phương pháp hay nhất về biểu mẫu thanh toán và địa chỉ.

Đảm bảo người dùng nhập mật khẩu an toàn

Việc cho phép trình quản lý mật khẩu đề xuất mật khẩu là lựa chọn tốt nhất và bạn nên khuyến khích người dùng chấp nhận các mật khẩu mạnh do trình duyệt và trình quản lý trình duyệt bên thứ ba đề xuất.

Tuy nhiên, nhiều người dùng muốn nhập mật khẩu của riêng họ. Vì vậy, bạn cần triển khai các quy tắc về độ mạnh của mật khẩu. Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ giải thích cách tránh mật khẩu không an toàn.

Không cho phép mật khẩu bị lộ

Bất kể quy tắc đặt mật khẩu của bạn là gì, bạn sẽ không bao giờ được để mật khẩu bị lộ trong các sự cố vi phạm bảo mật.

Sau khi người dùng nhập mật khẩu, bạn cần kiểm tra để đảm bảo đó không phải là mật khẩu đã bị xâm phạm. Trang web Have I Been Pwned (Có tôi đã được Pwned) cung cấp API để kiểm tra mật khẩu hoặc bạn có thể tự chạy API này dưới dạng một dịch vụ.

Trình quản lý mật khẩu của Google cũng cho phép bạn kiểm tra xem có mật khẩu nào hiện có của mình đã bị xâm phạm hay không.

Nếu bạn từ chối mật khẩu mà người dùng đề xuất, hãy cho họ biết cụ thể lý do mật khẩu đó bị từ chối. Hiển thị vấn đề cùng dòng và giải thích cách khắc phục, ngay sau khi người dùng nhập một giá trị – không phải sau khi họ đã gửi biểu mẫu đăng ký và phải chờ phản hồi từ máy chủ của bạn.

Nêu rõ lý do mật khẩu bị từ chối.

Không cấm dán mật khẩu

Một số trang web không cho phép dán văn bản vào mục nhập mật khẩu.

Việc không cho phép dán mật khẩu sẽ gây khó chịu cho người dùng, khuyến khích việc sử dụng mật khẩu dễ nhớ (và do đó có thể dễ bị xâm phạm hơn) và theo các tổ chức như Trung tâm an ninh mạng quốc gia Vương quốc Anh, trên thực tế có thể làm giảm mức độ bảo mật. Người dùng chỉ biết rằng không được phép dán sau khi họ cố gắng dán mật khẩu, vì vậy, việc không cho phép dán mật khẩu sẽ không tránh được các lỗ hổng bảo mật trên bảng nhớ tạm.

Không bao giờ lưu trữ hoặc truyền mật khẩu dưới dạng văn bản thuần tuý

Hãy nhớ thêm muối và băm mật khẩu và đừng cố gắng tự sáng chế ra thuật toán băm!

Không buộc cập nhật mật khẩu

Không được buộc người dùng cập nhật mật khẩu tuỳ ý.

Việc buộc cập nhật mật khẩu có thể gây tốn kém cho bộ phận CNTT, gây khó chịu cho người dùng và không ảnh hưởng nhiều đến bảo mật. Đây cũng có khả năng là khuyến khích mọi người sử dụng mật khẩu dễ nhớ không an toàn hoặc lưu giữ hồ sơ vật lý của mật khẩu.

Thay vì buộc cập nhật mật khẩu, bạn nên giám sát hoạt động bất thường trong tài khoản và cảnh báo người dùng. Nếu có thể, bạn cũng nên theo dõi những mật khẩu bị lộ do các sự cố rò rỉ dữ liệu.

Bạn cũng nên cấp cho người dùng quyền truy cập vào nhật ký đăng nhập vào tài khoản của họ, cho họ biết vị trí và thời điểm đăng nhập.

Trang hoạt động của tài khoản Gmail
Trang hoạt động tài khoản Gmail.

Dễ dàng thay đổi hoặc đặt lại mật khẩu

Nêu rõ cho người dùng vị trí và cách cập nhật mật khẩu tài khoản của họ. Thật khó để thực hiện trên một số trang web.

Tất nhiên, bạn cũng nên giúp người dùng dễ dàng đặt lại mật khẩu của mình khi họ quên. Dự án bảo mật ứng dụng web mở cung cấp hướng dẫn chi tiết về cách xử lý mật khẩu bị mất.

Để giữ an toàn cho doanh nghiệp và người dùng của bạn, điều đặc biệt quan trọng là giúp người dùng thay đổi mật khẩu nếu họ phát hiện mật khẩu đã bị xâm phạm. Để làm việc này dễ dàng hơn, bạn nên thêm URL /.well-known/change-password vào trang web của mình để chuyển hướng đến trang quản lý mật khẩu. Điều này cho phép trình quản lý mật khẩu điều hướng người dùng trực tiếp đến trang mà họ có thể thay đổi mật khẩu cho trang web của bạn. Tính năng này hiện đã được triển khai trong Safari, Chrome và sẽ có trên các trình duyệt khác. Giúp người dùng dễ dàng thay đổi mật khẩu bằng cách thêm một URL phổ biến để thay đổi mật khẩu giải thích cách triển khai việc này.

Bạn cũng nên tạo điều kiện để người dùng dễ dàng xoá tài khoản của họ nếu đó là điều họ muốn.

Cho phép đăng nhập thông qua nhà cung cấp danh tính bên thứ ba

Nhiều người dùng thích đăng nhập vào các trang web bằng biểu mẫu đăng ký địa chỉ email và mật khẩu. Tuy nhiên, bạn cũng nên cho phép người dùng đăng nhập thông qua nhà cung cấp danh tính bên thứ ba, còn gọi là đăng nhập liên kết.

Trang đăng nhập WordPress
Trang đăng nhập WordPress, có các tuỳ chọn đăng nhập của Google và Apple.

Cách tiếp cận này có một số ưu điểm. Đối với người dùng tạo tài khoản bằng tính năng đăng nhập liên kết, bạn không cần yêu cầu, giao tiếp hoặc lưu trữ mật khẩu.

Bạn cũng có thể truy cập thêm thông tin hồ sơ đã xác minh từ thông tin đăng nhập liên kết, chẳng hạn như địa chỉ email – có nghĩa là người dùng không phải nhập dữ liệu đó và bạn không cần tự xác minh. Tính năng đăng nhập liên kết cũng có thể giúp người dùng dễ dàng hơn khi có thiết bị mới.

Tính năng tích hợp tính năng Đăng nhập bằng Google vào ứng dụng web giải thích cách thêm thông tin đăng nhập liên kết vào các tuỳ chọn đăng ký của bạn. Có nhiều nền tảng nhận dạng khác.

Giúp việc chuyển đổi tài khoản trở nên đơn giản

Nhiều người dùng dùng chung thiết bị và hoán đổi giữa các tài khoản bằng cùng một trình duyệt. Dù người dùng có truy cập vào thông tin đăng nhập liên kết hay không, bạn nên đơn giản hoá việc chuyển đổi tài khoản.

Gmail, đang cho thấy quá trình chuyển đổi tài khoản
Chuyển đổi tài khoản trên Gmail.

Cân nhắc việc cung cấp tính năng xác thực đa yếu tố

Xác thực đa yếu tố nghĩa là đảm bảo rằng người dùng xác thực theo nhiều cách. Ví dụ: ngoài việc yêu cầu người dùng đặt mật khẩu, bạn cũng có thể thực thi xác minh bằng mật mã một lần gửi qua email hoặc tin nhắn văn bản SMS, hoặc bằng cách sử dụng mã một lần dựa trên ứng dụng, khoá bảo mật hoặc cảm biến vân tay. Các phương pháp hay nhất về SMS OTPBật tính năng xác thực mạnh bằng WebAuthn giải thích cách triển khai tính năng xác thực đa yếu tố.

Bạn nên cung cấp (hoặc thực thi) tính năng xác thực đa yếu tố nếu trang web của bạn xử lý thông tin cá nhân hoặc thông tin nhạy cảm.

Thận trọng bằng tên người dùng

Không nhất thiết phải có tên người dùng trừ khi (hoặc cho đến khi) bạn cần. Cho phép người dùng đăng ký và đăng nhập chỉ bằng địa chỉ email (hoặc số điện thoại) và mật khẩu — hoặc thông tin đăng nhập liên kết nếu họ muốn. Đừng buộc họ chọn và ghi nhớ tên người dùng.

Nếu trang web của bạn yêu cầu tên người dùng, đừng áp đặt các quy tắc bất hợp lý lên những tên người dùng đó và đừng ngăn người dùng cập nhật tên người dùng. Trên phần phụ trợ, bạn nên tạo một mã nhận dạng duy nhất cho mỗi tài khoản người dùng, chứ không phải một giá trị nhận dạng dựa trên dữ liệu cá nhân như tên người dùng.

Ngoài ra, hãy nhớ sử dụng autocomplete="username" cho tên người dùng.

Thử nghiệm trên nhiều thiết bị, nền tảng, trình duyệt và phiên bản

Thử nghiệm biểu mẫu đăng ký trên các nền tảng phổ biến nhất đối với người dùng của bạn. Chức năng của phần tử biểu mẫu có thể khác nhau và sự khác biệt về kích thước khung nhìn có thể gây ra sự cố về bố cục. BrowserStack cho phép kiểm thử miễn phí các dự án nguồn mở trên một loạt thiết bị và trình duyệt.

Triển khai phân tích và Giám sát người dùng thực

Bạn cần dữ liệu trường cũng như dữ liệu phòng thí nghiệm để hiểu cách người dùng trải nghiệm biểu mẫu đăng ký của bạn. Analytics và Công cụ theo dõi người dùng thực ( đều) cung cấp dữ liệu về trải nghiệm thực tế của người dùng, chẳng hạn như thời gian tải trang đăng ký, thành phần giao diện người dùng mà người dùng tương tác (hoặc không tương tác) và thời gian người dùng hoàn tất quy trình đăng ký.

Những thay đổi nhỏ cũng có thể tạo ra sự khác biệt lớn đối với tỷ lệ hoàn thành biểu mẫu đăng ký. Analytics và đều giúp bạn tối ưu hoá và ưu tiên các thay đổi, đồng thời theo dõi trang web của bạn để phát hiện các vấn đề không xuất hiện trong thử nghiệm cục bộ.

Tiếp tục tìm hiểu

Ảnh của @ecowarriorprin mặc trên Unsplash.