Bagaimana sebaiknya “Forgot Password”?

Tulisan ini menyambung post sebelumnya “Berbahayakah Forgot Password bagi website anda?”. Tehnik yang dibahas pada post tersebut sangat rawan dijahili orang lain.
Nah, untuk menghindari masalah itu, dan dari hasil pengamatan di beberapa website besar, inilah tehnik “forgot password” yang lebih baik (kalo ntar ada kelemahan, ya kita bahas lagi tehnik barunya…
)
Login
Pada saat pendaftaran, saat ini user sebaiknya tidak diminta membuat username. Gunakan saja email mereka sebagai pengganti username. Toh sudah “unique”.
Jadi berkurang 1 hal yang harus diingat. Cukup email dan password untuk login. Simple.
Forgot Password
Pada saat mereka lupa password, tampilkan dan lakukan proses berikut:
- Tampilkan form “forgot password” hanya meminta alamat email SAJA.
- Cek ke database pastikan alamat email benar
- Jika benar, kirimkan email berisi link untuk melakukan reset password
- Member masuk ke email box dan memeriksa email dari sistem
- User/member meng-klik link di email dan dibawa kembali ke halaman web untuk melakukan reset password
Jadi ada 2 field di halaman itu:
New Password:
Confirm new password: - Lakukan perubahan data password member di database, kirim kembali email berisikan info password baru
- Selesai
Sekarang sedikit penjelasan poin diatas…
Untuk poin nomer 2 dan 3…
Pastikan setelah email itu ditemukan di database, generate kode acak (random code) minimal 6 karakter (lebih panjang lebih baik) sebagai tambahan validasi yang dikirim di link dalam email. Kode acak ini pastinya disimpan di database untuk email yang mau di reset passwordnya…
Tujuannya? biar orang iseng ga bisa nebak-nebak dan ganti password semua orang.
Nanti kira-kira isi email spt ini:
Silahkan klik link dibawah ini untuk melakukan reset password:
http://www.webbyemedia.net/resetpass/345/eo89GHjxTvw56/
(ini kalo URL-nya SEO friendly yah… hehe)
Kira-kira begitu. Semoga bermanfaat yah.