it-swarm-id.com

Bagaimana cara menggunakan cookie dengan cara yang aman untuk mengotentikasi pengguna?

Dalam kebanyakan kasus, saya suka menggunakan cookie untuk mengingat pengguna yang kembali ke situs web saya.

Di masa awal/bodoh saya, saya akan menyimpan UserID (bilangan selisih otomatis) dalam cookie dan jika pengguna kembali saya akan menggunakan nilai cookie itu untuk login secara otomatis. Ini adalah ide yang buruk karena seseorang dapat dengan mudah mengedit cookie untuk menggunakan integer yang berbeda dan masuk sebagai orang lain.

Apakah boleh menyimpan UserID dengan cara yang sama jika UserID adalah GUID?

Apa praktik terbaik untuk menyimpan cookie "ingat saya"?

7
jessegavin

Anda harus mempertimbangkan untuk menggunakan sesi untuk menangani skenario semacam ini.

Sesi umumnya bekerja dengan menghasilkan GUID yang unik untuk otentikasi pengguna dan menyimpannya dalam cookie di mesin lokal pengguna atau menyebarkannya, dari halaman ke halaman, melalui URL.

Sesi ini GUID menunjuk ke entri file atau basis data pada server yang kemudian dapat dibaca dan ditulis oleh kode sumber Anda, dengan mengaitkan GUID dalam cookie/URL pengguna dengan GUID dari entri file atau database yang menyimpan data Anda.

Biasanya aman untuk memasukkan data yang lebih sensitif (seperti ID pengguna) dalam sesi karena tidak ada yang terlihat oleh pengguna akhir kecuali GUID sesi.

Sebagian besar bahasa berbasis web akan memiliki semacam manajemen sesi bawaan.

2
Nat Ryall

Simpan dua cookie:

  • UserId: berisi id pengguna
  • Password: berisi SHA1 kata sandi pengguna

Sangat mudah dan aman. Ingat atribut HttpOnly .

1
Thomas Bonini