⊗ppPmAuHs 423 of 447 menu

Penghashan Kata Laluan pada PHP

Menyimpan kata laluan dalam bentuk terbuka adalah tidak betul. Penggodam berniat jahat boleh mendapatkan akses kepada pangkalan data anda dan mencuri kata laluan.

Oleh itu, biasanya login disimpan dalam bentuk terbuka, manakala kata laluan dihash menggunakan fungsi khas md5, yang menerima kata laluan sebagai parameter dan mengembalikan hash-nya, yang mana tidak boleh digunakan untuk memulihkan kata laluan asal.

Sebagai contoh, mari cari hash untuk sesuatu rentetan:

<?php echo md5('12345'); // akan memaparkan '827ccb0eea8a706c4c34a16891f84e7b' ?>

Sekarang kita perlu mengubah suai pendaftaran dan pengesahan kita. Untuk permulaan, saya menasihatkan untuk mengosongkan jadual pengguna, kerana buat masa ini kata laluan disimpan dalam bentuk terbuka di sana, sedangkan sepatutnya hash kata laluan tersebut yang disimpan. Kemudian, semasa menguji pendaftaran, jadual akan diisi dengan data dalam format baharu.

Sekarang mari kita betulkan pendaftaran kita supaya apabila menyimpan pengguna baharu ke pangkalan data, bukannya kata laluan, tetapi hash-nya yang ditambah.

Pembetulan yang diterangkan akan kelihatan seperti something like this:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // tukar kata laluan kepada hash-nya $query = "INSERT INTO users SET login='$login', password='$password'"; ?>

Mari buat pembetulan yang serupa dalam pengesahan:

<?php $login = $_POST['login']; $password = md5($_POST['password']); // tukar kata laluan kepada hash-nya $query = "SELECT * FROM users WHERE login='$login' AND password='$password'"; ?>

Buat perubahan pada pendaftaran dengan mengambil kira penghashan, daftarkan beberapa pengguna baharu, pastikan mereka telah ditambah ke pangkalan data dengan kata laluan yang telah dihash.

Buat perubahan pada pengesahan dengan mengambil kira penghashan, cuba sahkan log masuk menggunakan pengguna yang didaftarkan sebelum ini.

Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak