Bantu pengguna mengubah sandi secara mudah dengan menambahkan URL terkenal untuk mengubah sandi

Alihkan permintaan ke /.well-known/change-password ke URL ubah sandi

Setel pengalihan dari /.well-known/change-password ke halaman ubah sandi di situs Anda. Hal ini akan memungkinkan pengelola sandi mengarahkan pengguna langsung ke halaman tersebut.

Pengantar

Seperti yang Anda ketahui, sandi bukan cara terbaik untuk mengelola akun. Untungnya, ada teknologi yang sedang berkembang seperti WebAuthn dan teknik seperti sandi sekali pakai yang membantu kita lebih dekat dengan dunia tanpa sandi. Namun, teknologi ini masih dikembangkan dan tidak akan berubah dengan cepat. Banyak developer masih perlu menangani sandi setidaknya selama beberapa tahun ke depan. Selagi menunggu hingga teknologi dan teknik baru yang umum digunakan, setidaknya kami dapat membuat sandi lebih mudah digunakan.

Cara yang baik untuk melakukan ini adalah dengan memberikan dukungan yang lebih baik bagi pengelola sandi.

Cara pengelola sandi membantu

Pengelola sandi dapat disertakan di browser atau disediakan sebagai aplikasi pihak ketiga. Mereka dapat membantu pengguna dengan berbagai cara:

Isi otomatis sandi untuk kolom input yang benar: Beberapa browser dapat menemukan input yang benar secara heuristis meskipun situs tidak dioptimalkan untuk tujuan ini. Developer web dapat membantu pengelola sandi dengan menganotasi tag input HTML dengan benar.

Mencegah phishing: Karena pengelola sandi mengingat tempat sandi dicatat, sandi hanya dapat diisi otomatis di URL yang sesuai, bukan di situs phishing.

Membuat sandi yang kuat dan unik: Karena sandi yang kuat dan unik langsung dibuat dan disimpan oleh pengelola sandi, pengguna tidak perlu mengingat satu karakter sandi pun.

Membuat dan mengisi otomatis sandi menggunakan pengelola sandi telah menyalurkan web dengan baik, tetapi dengan mempertimbangkan siklus prosesnya, memperbarui sandi kapan pun diperlukan sama pentingnya dengan membuat dan mengisi otomatis. Untuk memanfaatkan hal tersebut dengan benar, pengelola sandi menambahkan fitur baru:

Deteksi sandi yang rentan dan sarankan untuk memperbaruinya: Pengelola sandi dapat mendeteksi sandi yang digunakan ulang, menganalisis entropi dan kelemahan sandi, dan bahkan mendeteksi sandi yang berpotensi bocor atau sandi yang diketahui tidak aman dari sumber seperti Apakah Saya Telah Pwned.

Pengelola sandi dapat memperingatkan pengguna tentang sandi yang bermasalah, tetapi ada banyak hambatan dalam meminta pengguna untuk berpindah dari halaman beranda ke halaman ubah sandi, selain melalui proses perubahan sandi yang sebenarnya (yang bervariasi dari situs ke situs). Akan jauh lebih mudah jika pengelola sandi dapat mengarahkan pengguna langsung ke URL ubah sandi. Di sinilah URL terkenal untuk mengubah sandi menjadi berguna.

Dengan memilih jalur URL terkenal yang mengalihkan pengguna ke halaman ubah sandi, situs dapat dengan mudah mengalihkan pengguna ke lokasi yang tepat untuk mengubah sandi mereka.

Siapkan "URL terkenal untuk mengubah sandi"

.well-known/change-password diusulkan sebagai URL terkenal untuk mengubah sandi. Anda hanya perlu mengonfigurasi server agar mengalihkan permintaan untuk .well-known/change-password ke URL ubah sandi situs Anda.

Misalnya, situs Anda adalah https://example.com dan URL ubah sandinya adalah https://example.com/settings/password. Anda hanya perlu menyetel server agar mengalihkan permintaan untuk https://example.com/.well-known/change-password ke https://example.com/settings/password. Selesai. Untuk pengalihan, gunakan kode status HTTP 302 Found, 303 See Other, atau 307 Temporary Redirect.

Atau, Anda dapat menayangkan HTML di URL .well-known/change-password dengan tag <meta> menggunakan http-equiv="refresh".

<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">

Buka lagi HTML halaman ubah sandi

Tujuan fitur ini adalah untuk membantu agar siklus proses sandi pengguna lebih lancar. Anda dapat melakukan dua hal untuk memberdayakan pengguna agar dapat memperbarui sandi tanpa mengalami gangguan:

  • Jika formulir ubah sandi Anda memerlukan sandi saat ini, tambahkan autocomplete="current-password" ke tag <input> untuk membantu pengelola sandi mengisi otomatis sandi tersebut.
  • Untuk kolom sandi baru (dalam banyak kasus, dua kolom ini digunakan untuk memastikan bahwa pengguna telah memasukkan sandi baru dengan benar), tambahkan autocomplete="new-password" ke tag <input> untuk membantu pengelola sandi menyarankan sandi yang dibuat.

Pelajari lebih lanjut di bagian Praktik terbaik formulir login.

Cara penggunaannya di dunia nyata

Contoh

Berkat penerapan Apple Safari, /.well-known/change-password, telah tersedia di beberapa situs utama untuk sementara waktu:

Cobalah sendiri dan lakukan hal yang sama untuk ponsel Anda!

Kompatibilitas browser

URL populer untuk mengubah sandi telah didukung di Safari sejak 2019. Pengelola sandi Chrome mulai mendukungnya dari versi 86 dan seterusnya (yang dijadwalkan untuk rilis Stabil pada akhir Oktober 2020) dan browser berbasis Chromium lainnya mungkin akan mengikutinya. Firefox menganggapnya layak diterapkan, tetapi belum memberikan tanda bahwa ia berencana untuk melakukannya per Agustus 2020.

Perilaku pengelola sandi Chrome

Mari kita lihat cara pengelola sandi Chrome memperlakukan sandi yang rentan.

Pengelola sandi Chrome dapat memeriksa sandi yang bocor. Dengan membuka about://settings/passwords, pengguna dapat menjalankan Periksa sandi terhadap sandi yang disimpan, dan melihat daftar sandi yang direkomendasikan untuk diperbarui.

Fungsi Periksa sandi di Chrome

Dengan mengklik tombol Change password di sebelah sandi yang direkomendasikan untuk diupdate, browser akan:

  • Buka halaman ubah sandi situs jika /.well-known/change-password disiapkan dengan benar.
  • Buka halaman beranda situs jika /.well-known/change-password tidak disiapkan dan Google tidak mengetahui penggantiannya.
Bagaimana jika server menampilkan 200 OK meskipun /.well-known/change-password tidak ada?

Pengelola sandi mencoba menentukan apakah situs mendukung URL terkenal untuk mengubah sandi dengan mengirimkan permintaan ke /.well-known/change-password sebelum benar-benar meneruskan pengguna ke URL ini. Jika permintaan menampilkan 404 Not Found, jelas bahwa URL tidak tersedia, tetapi respons 200 OK tidak selalu berarti bahwa URL tersedia, karena ada beberapa kasus ekstrem:

  • Situs rendering sisi server akan menampilkan pesan "Tidak ditemukan" jika tidak ada konten kecuali yang menampilkan 200 OK.
  • Situs rendering sisi server merespons dengan 200 OK saat tidak ada konten setelah dialihkan ke halaman "Tidak ditemukan".
  • Aplikasi satu halaman merespons shell dengan 200 OK dan merender halaman "Tidak ditemukan" di sisi klien saat tidak ada konten.

Untuk kasus ekstrem ini, pengguna akan diteruskan ke halaman "Not Found" dan hal itu akan menjadi sumber kebingungan.

Itulah sebabnya ada mekanisme standar yang diusulkan untuk menentukan apakah server dikonfigurasi untuk merespons dengan 404 Not Found jika benar-benar tidak ada konten, dengan meminta halaman acak. Sebenarnya, URL ini juga dicadangkan: /.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200. Chrome misalnya, menggunakan jalur URL ini untuk menentukan apakah Chrome akan meminta URL perubahan sandi yang tepat dari /.well-known/change-password terlebih dahulu.

Saat Anda men-deploy /.well-known/change-password, pastikan server Anda menampilkan 404 Not Found untuk konten yang tidak ada.

Masukan

Jika Anda memiliki masukan tentang spesifikasi ini, ajukan masalah ke repositori spesifikasi.

Referensi

Foto oleh Matthew Brodeur di Unsplash