Saya ingin situs web saya memiliki kotak centang yang dapat diklik pengguna sehingga mereka tidak perlu masuk setiap kali mereka mengunjungi situs web saya. Saya tahu saya perlu menyimpan cookie di komputer mereka untuk mengimplementasikan ini, tetapi apa yang harus terkandung dalam cookie itu?
Juga, apakah ada kesalahan umum yang harus diperhatikan untuk menjaga cookie ini tidak menghadirkan kerentanan keamanan, yang dapat dihindari sambil tetap memberikan fungsionalitas 'ingat saya'?
security
cookies
remember-me
Vort3x
sumber
sumber
Jawaban:
Praktek Terbaik Cookie Persistent yang Ditingkatkan
Anda dapat menggunakan strategi ini yang dijelaskan di sini sebagai praktik terbaik (2006) atau strategi terbaru yang dijelaskan di sini (2015):
Pendekatan ini memberikan pertahanan yang mendalam. Jika seseorang berhasil membocorkan tabel database, itu tidak memberikan penyerang pintu terbuka untuk menyamar sebagai pengguna.
sumber
Saya akan menyimpan ID pengguna dan token. Ketika pengguna kembali ke situs, bandingkan kedua informasi tersebut dengan sesuatu yang persisten seperti entri basis data.
Adapun keamanan, hanya saja tidak memasukkan apa pun di sana yang akan memungkinkan seseorang untuk memodifikasi cookie untuk mendapatkan manfaat tambahan. Misalnya, jangan menyimpan grup pengguna atau kata sandi mereka. Apa pun yang dapat dimodifikasi yang akan menghindari keamanan Anda tidak boleh disimpan dalam cookie.
sumber
Simpan UserId mereka dan RememberMeToken. Ketika mereka masuk dengan mengingat saya diperiksa menghasilkan RememberMeToken baru (yang membatalkan mesin lain yang ditandai ingat saya).
Ketika mereka kembali mencari mereka dengan token ingat saya dan pastikan UserId cocok.
sumber
Menyelidiki sesi persisten sendiri saya telah menemukan bahwa itu sama sekali tidak sebanding dengan risiko keamanan. Gunakan jika Anda benar-benar harus, tetapi Anda harus mempertimbangkan sesi seperti itu hanya diautentikasi dengan lemah dan memaksakan login baru untuk apa pun yang bisa bernilai bagi penyerang.
Alasannya tentu saja adalah bahwa cookie Anda yang berisi sesi persisten Anda begitu mudah dicuri.
4 cara untuk mencuri cookie Anda (dari komentar oleh Jens Roland di halaman
@splattne
berdasarkan jawabannya pada):sumber