Rumah  >  Artikel  >  Tutorial sistem  >  Bahaya tersembunyi fungsi "ingat kata laluan".

Bahaya tersembunyi fungsi "ingat kata laluan".

王林
王林ke hadapan
2024-02-08 08:33:09743semak imbas

Bahaya tersembunyi fungsi ingat kata laluan.

Dengan cara ini, anda boleh log masuk pada semua peranti dan pelanggan, dan berbilang pengguna boleh log masuk pada masa yang sama. Ini tidak begitu selamat. Berikut adalah beberapa kaedah yang lebih selamat untuk rujukan anda:

1 Dalam kuki, simpan tiga perkara - nama pengguna, urutan log masuk, token log masuk.

a) Nama pengguna: disimpan dalam teks yang jelas.
b) Jujukan log masuk: nombor rawak yang dicincang oleh MD5, dikemas kini hanya apabila pengguna terpaksa memasukkan kata laluan (contohnya: pengguna menukar kata laluan).
c) Token log masuk: Nombor rawak yang telah dicincang oleh MD5 hanya sah dalam satu sesi log masuk Sesi log masuk baharu akan mengemas kininya.

2 Tiga perkara di atas akan disimpan pada pelayan Pengguna pelayan yang disahkan perlu mengesahkan tiga perkara ini dalam kuki klien.
3 Apakah kesan reka bentuk sebegini akan memberi kesan berikut,

a) Token log masuk ialah log masuk satu contoh. Ini bermakna pengguna hanya boleh mempunyai satu contoh log masuk.

b) Jujukan log masuk digunakan untuk pengesanan penipuan. Jika kuki pengguna dicuri dan pencuri menggunakan kuki ini untuk mengakses tapak web, sistem kami akan menganggap bahawa dia adalah pengguna yang sah dan kemudian mengemas kini "token log masuk Walau bagaimanapun, apabila pengguna sebenar kembali melawat, sistem akan mendapati bahawa hanya terdapat "pengguna" nama yang sama dengan "urutan log masuk", tetapi "token log masuk" adalah salah. Dalam kes ini, sistem akan mengetahui bahawa pengguna ini mungkin telah Dicuri. Oleh itu, sistem boleh mengosongkan dan menukar urutan log masuk dan Token log masuk , yang akan membatalkan semua kuki dan memerlukan pengguna memasukkan kata laluan. Dan memberi amaran kepada pengguna tentang keselamatan sistem.

4 Sudah tentu, reka bentuk di atas masih mempunyai beberapa masalah
Contohnya: pengguna yang sama log masuk dari peranti yang berbeza, atau menggunakan penyemak imbas yang berbeza untuk log masuk pada peranti yang sama. Satu peranti akan membatalkan

token log masuk dan jujukan log masuk peranti lain, menyebabkan peranti dan penyemak imbas lain perlu log masuk semula, dan mencipta ilusi bahawa kuki telah dicuri. Oleh itu, anda juga perlu mempertimbangkan alamat IP dalam pelayan pelayan Tiga isu berikut terlibat.

a) Jika anda log masuk dengan kata laluan, kami tidak perlu mengemas kini "

urutan log masuk" dan "token log masuk" pelayan (tetapi kuki perlu dikemas kini). Kerana kami percaya bahawa hanya pengguna sebenar yang mengetahui kata laluan.

b) Jika

IP adalah sama, maka kami tidak perlu mengemas kini "urutan log masuk" dan "token log masuk" pelayan (tetapi kuki perlu dikemas kini). Kerana kami fikir pengguna yang sama mempunyai IP yang sama (sudah tentu, LAN yang sama juga mempunyai IP yang sama, tetapi kami fikir LAN ini boleh dikawal oleh pengguna. Ciri ini tidak disyorkan di kafe Internet).

c) Jika (

IP berbeza&& tiada kata laluan digunakan untuk log masuk), maka "token log masuk" akan berubah antara berbilang IP (token log masuk dikembalikan dan dikembalikan antara dua atau lebih IP) transformasi), apabila ia mencapai beberapa kali dalam tempoh masa tertentu, sistem akan benar-benar merasakan kemungkinan dicuri adalah sangat tinggi Pada masa ini, sistem akan mengosongkan "urutan log masuk" dan "token log masuk. " di latar belakang untuk membatalkan kuki. , memaksa pengguna memasukkan kata laluan (atau memerlukan pengguna menukar kata laluan) untuk memastikan kuki pada berbilang peranti adalah konsisten.

Saya rasa ini adalah penyelesaian yang baik Ilusi kecurian kuki malah boleh direalisasikan dengan cara yang "memusnahkan diri sendiri" - pengguna QQ yang log masuk kemudiannya menyerbu pengguna yang log masuk sebelumnya.

Atas ialah kandungan terperinci Bahaya tersembunyi fungsi "ingat kata laluan".. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:linuxprobe.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam