


Buat sistem log masuk yang kuat dengan PHP dalam lima langkah mudah
mata teras:
- Tutorial ini menyediakan panduan langkah demi langkah untuk mewujudkan sistem log masuk yang kuat menggunakan PHP dan MySQL, termasuk persediaan persekitaran, pangkalan data dan penciptaan jadual, pendaftaran dan pembinaan log masuk, dan pengerasan keselamatan sistem log masuk.
- Borang pendaftaran dan log masuk dibina menggunakan HTML dan PHP, dan data borang akan diproses dan dimasukkan ke dalam jadual pengguna pangkalan data;
- Langkah -langkah keselamatan untuk log masuk ke dalam sistem termasuk menyulitkan data menggunakan HTTPS, menggunakan token untuk membolehkan perlindungan CSRF, mengehadkan bilangan percubaan masuk yang gagal, menyimpan maklumat sensitif secara berasingan, dan mengemas kini perisian secara teratur untuk memohon patch keselamatan terkini.
- Tutorial ini juga menjawab soalan umum mengenai peningkatan sistem log masuk PHP, termasuk mencegah serangan suntikan SQL, hashing kata laluan, melaksanakan fungsi "ingat saya", penetapan kata laluan, pengesahan input pengguna, peranan pengguna, pengesahan dua faktor, log masuk sosial,, mengunci akaun dan fungsi pendaftaran pengguna.
php dan sistem log masuk
PHP adalah bahasa skrip sisi pelayan yang popular yang membolehkan anda membuat laman web dinamik. Salah satu kegunaan PHP yang paling biasa adalah untuk membuat sistem log masuk untuk laman web.sistem log masuk adalah penting untuk melindungi maklumat sensitif dan menyediakan pengguna dengan kandungan yang diperibadikan. Dalam tutorial ini, kami akan menggunakan PHP dan MySQL untuk mewujudkan sistem log masuk yang mudah dan berkuasa.
kami akan merangkumi langkah -langkah berikut:
- Tetapan Alam Sekitar
- Buat pangkalan data dan jadual
- Bina borang pendaftaran
- Bina borang log masuk
- mengukuhkan sistem log masuk anda
Tetapan Alam Sekitar
Sebelum memulakan, pastikan perisian berikut dipasang pada komputer anda:
- pelayan web (seperti Apache)
-
php - mysql
- Anda boleh memasang semua komponen ini sekaligus menggunakan pakej seperti XAMPP atau WAMP.
Selepas pemasangan selesai, buat folder baru dalam direktori root pelayan web (seperti HTDOCS Apache) dan namakannya Login_system.
Buat pangkalan data dan jadual
Pertama, kita perlu membuat pangkalan data dan jadual untuk menyimpan maklumat pengguna.
Buka alat pengurusan MySQL anda (seperti phpmyadmin) dan buat pangkalan data baru yang dipanggil login_system.
Seterusnya, buat jadual yang dipanggil pengguna dengan struktur seperti berikut:
Jadual ini akan menyimpan ID pengguna, nama pengguna, e -mel, kata laluan, dan tarikh penciptaan akaun.
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL, `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`), UNIQUE KEY `email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Bina borang pendaftaran
Sekarang, mari buat borang pendaftaran yang membolehkan pengguna mendaftar untuk akaun.
Buat fail baru bernama Register.php dalam folder Login_System anda dan tambahkan kod berikut:
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `email` varchar(100) NOT NULL, `password` varchar(255) NOT NULL, `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`), UNIQUE KEY `email` (`email`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Kod ini mencipta borang HTML yang mudah dengan medan nama pengguna, e -mel, dan kata laluan. Harta tindakan borang ditetapkan untuk mendaftar.php, yang bermaksud bahawa data borang akan dihantar ke fail yang sama untuk diproses.
Sekarang, mari tambahkan kod PHP untuk memproses data borang dan masukkan ke dalam jadual pengguna.
Pada permulaan fail daftar.php, tambahkan kod berikut sebelum perisytiharan:
<form action="register.php" method="post"> <label for="username">用户名:</label> <input id="username" name="username" required type="text" /> <label for="email">邮箱:</label> <input id="email" name="email" required type="email" /> <label for="password">密码:</label> <input id="password" name="password" required type="password" /> <input name="register" type="submit" value="注册" /> </form>
Kod ini memeriksa jika borang telah dihantar, menghubungkan ke pangkalan data dan memasukkan maklumat pengguna ke dalam jadual pengguna. Kata laluan hashed menggunakan fungsi PHP terbina dalam PHP untuk meningkatkan keselamatan.
Bina borang log masuk
Seterusnya, mari buat borang log masuk yang membolehkan pengguna log masuk ke akaun mereka. Buat fail baru bernama Login.php dalam folder Login_System anda dan tambahkan kod berikut:
<?php if (isset($_POST['register'])) { // 连接数据库 $mysqli = new mysqli("localhost", "username", "password", "login_system"); // 检查错误 if ($mysqli->connect_error) { die("连接失败: " . $mysqli->connect_error); } // 准备并绑定SQL语句 $stmt = $mysqli->prepare("INSERT INTO users (username, email, password) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $username, $email, $password); // 获取表单数据 $username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; // 对密码进行哈希处理 $password = password_hash($password, PASSWORD_DEFAULT); // 执行SQL语句 if ($stmt->execute()) { echo "新账户创建成功!"; } else { echo "错误: " . $stmt->error; } // 关闭连接 $stmt->close(); $mysqli->close(); } ?>
Kod ini mencipta borang HTML yang mudah dengan medan nama pengguna dan kata laluan. Harta tindakan borang ditetapkan kepada login.php, yang bermaksud bahawa data borang akan dihantar ke fail yang sama untuk diproses.
Sekarang, mari tambahkan kod PHP untuk memproses data borang dan sahkan pengguna. Pada permulaan fail login.php, tambahkan kod berikut sebelum perisytiharan:
<form action="login.php" method="post"> <label for="username">用户名:</label> <input id="username" name="username" required type="text" /> <label for="password">密码:</label> <input id="password" name="password" required type="password" /> <input name="login" type="submit" value="登录" /> </form>
Kod ini memeriksa jika borang telah diserahkan, menghubungkan ke pangkalan data dan mengambil maklumat pengguna dari jadual pengguna. Kata laluan disahkan menggunakan fungsi PHP yang terbina dalam PHP. Jika log masuk berjaya, pengguna akan diarahkan ke halaman Dashboard.php.
mengukuhkan sistem log masuk anda
- Gunakan HTTPS untuk menyulitkan data yang dihantar antara klien dan pelayan.
- Gunakan token untuk melaksanakan perlindungan CSRF (pemalsuan permintaan lintas tapak).
- Hadkan bilangan percubaan masuk gagal untuk mencegah serangan kekerasan.
- Menyimpan maklumat sensitif (seperti kelayakan pangkalan data) dalam fail konfigurasi berasingan di luar direktori root dokumen pelayan web.
- kerap mengemas kini perisian anda, termasuk PHP, MySQL dan pelayan web anda untuk memohon patch keselamatan terkini.
Kesimpulan
Tahniah! Anda telah berjaya mencipta sistem log masuk yang kuat dan telah mengukuhkan sistem log masuk anda dengan selamat.
FAQs (FAQs)
Bagaimana untuk melindungi sistem log masuk PHP saya dari serangan suntikan SQL?Suntikan SQL adalah kelemahan keselamatan biasa yang mengeksploitasi lapisan pangkalan data aplikasi. Untuk melindungi sistem log masuk PHP anda dari serangan suntikan SQL, anda harus menggunakan kenyataan pra -diproses dan pertanyaan parameter. Ini adalah penyataan SQL yang dihantar dan dihuraikan oleh pelayan pangkalan data, tanpa mengira mana -mana parameter. Dengan cara ini, penyerang tidak boleh menyuntik SQL berniat jahat. Kedua -dua PDO dan MySQLI menyokong pernyataan pra -proses.
bagaimana melaksanakan hashing kata laluan dalam sistem log masuk php saya?
Hashing kata laluan adalah aspek keselamatan penting dalam mana -mana sistem log masuk. PHP menyediakan fungsi terbina dalam hashing dan pengesahan kata laluan. Anda boleh menggunakan fungsi password_hash () untuk membuat hash kata laluan dan menggunakan fungsi kata laluan Sentiasa simpan kata laluan hashed dalam pangkalan data anda, bukan kata laluan teks biasa.
Bagaimana untuk melaksanakan fungsi "Ingat saya" dalam sistem log masuk PHP saya?
boleh menggunakan kuki dalam PHP untuk melaksanakan fungsi "Ingat Saya". Apabila pengguna memilih pilihan "Ingat Saya" dan log masuk, anda boleh menetapkan kuki dengan masa tamat tempoh yang lebih lama. Pada masa yang akan datang pengguna melawat laman web anda, anda boleh menyemak sama ada kuki ini wujud dan log masuk kepada mereka secara automatik. Walau bagaimanapun, ingat untuk mengendalikan kuki dengan selamat untuk mengelakkan sebarang risiko keselamatan yang berpotensi.
bagaimana melaksanakan fungsi tetapan semula kata laluan dalam sistem log masuk php saya?
Fungsi Reset Kata Laluan biasanya melibatkan menghantar pengguna e-mel dengan pautan satu kali yang unik yang menunjuk ke halaman penetapan semula kata laluan. PHPMailer adalah perpustakaan yang popular untuk menghantar e -mel dari PHP. Apabila membuat pautan semula, anda harus memasukkan token yang boleh digunakan untuk mengesahkan permintaan semula kata laluan. Tanda ini harus disimpan dengan selamat dan tamat selepas tempoh masa.
Bagaimana untuk mengesahkan input pengguna dalam sistem log masuk php saya?
Pengesahan input pengguna adalah penting untuk mencegah kesilapan format data dan serangan suntikan SQL. PHP menyediakan banyak fungsi untuk pengesahan input, seperti filter_var (). Anda boleh menggunakan pelbagai pilihan fungsi ini untuk mengesahkan dan membersihkan pelbagai jenis data. Sebagai contoh, anda boleh menggunakan filter_validate_email untuk memeriksa sama ada input pengguna adalah alamat e -mel yang sah.
Bagaimana untuk melaksanakan peranan pengguna dalam sistem log masuk PHP saya?
Peranan pengguna boleh dilaksanakan dengan menambahkan lajur "peranan" ke jadual pengguna dalam pangkalan data. Setiap peranan boleh mempunyai kebenaran yang berbeza, dan anda boleh menyemak peranan pengguna sebelum membenarkan mereka melakukan tindakan tertentu. Sebagai contoh, anda mungkin mempunyai peranan "admin" dan "pengguna" dan hanya membenarkan pengguna "admin" untuk memadam pengguna lain.
Bagaimana untuk melaksanakan pengesahan dua faktor dalam sistem log masuk PHP saya?
Pengesahan dua faktor (2FA) menambah lapisan keselamatan tambahan ke sistem log masuk anda. Terdapat beberapa cara untuk melaksanakan 2FA, seperti menghantar kod melalui SMS atau e -mel, atau menggunakan aplikasi 2FA khusus. Perpustakaan PHP (seperti phpgangsta/googleAuthenticator) boleh membantu anda melaksanakan 2FA dalam sistem log masuk anda.
Bagaimana untuk melaksanakan log masuk sosial dalam sistem log masuk PHP saya?
Log masuk sosial membolehkan pengguna log masuk menggunakan akaun media sosial mereka seperti Facebook atau Google. Ini boleh dilaksanakan menggunakan protokol OAuth. Perpustakaan PHP (seperti Hybridauth) dapat memudahkan proses melaksanakan log masuk sosial.
Bagaimana untuk melaksanakan penguncian akaun dalam sistem log masuk php saya?
Pengunci akaun boleh dicapai dengan menjejaki bilangan percubaan log masuk yang gagal. Selepas beberapa percubaan yang gagal, anda boleh mengunci akaun anda dan mencegah percubaan log masuk selanjutnya dalam tempoh masa. Ini dapat membantu mencegah serangan kekerasan.
Bagaimana untuk melaksanakan pendaftaran pengguna dalam sistem log masuk PHP saya?
Pendaftaran pengguna biasanya melibatkan membuat borang di mana pengguna boleh memasukkan butirannya, seperti nama pengguna, e -mel, dan kata laluan. Sebaik sahaja pengguna mengemukakan borang, anda boleh mengesahkan input, hash kata laluan, dan menyimpan butiran pengguna dalam pangkalan data anda. PHP menyediakan banyak fungsi yang membantu pengguna mendaftar, seperti filter_var () untuk pengesahan input dan kata laluan_hash () untuk hashing kata laluan.
Atas ialah kandungan terperinci Buat sistem log masuk yang kuat dengan PHP dalam lima langkah mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Alipay Php ...

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Sesi rampasan boleh dicapai melalui langkah -langkah berikut: 1. Dapatkan ID Sesi, 2. Gunakan ID Sesi, 3. Simpan sesi aktif. Kaedah untuk mengelakkan rampasan sesi dalam PHP termasuk: 1. Gunakan fungsi Sesi_Regenerate_ID () untuk menjana semula ID Sesi, 2. Data sesi stor melalui pangkalan data, 3.

Fungsi penghitungan dalam Php8.1 meningkatkan kejelasan dan jenis keselamatan kod dengan menentukan pemalar yang dinamakan. 1) Penghitungan boleh menjadi bilangan bulat, rentetan atau objek, meningkatkan kebolehbacaan kod dan keselamatan jenis. 2) Penghitungan adalah berdasarkan kelas dan menyokong ciri-ciri berorientasikan objek seperti traversal dan refleksi. 3) Penghitungan boleh digunakan untuk perbandingan dan tugasan untuk memastikan keselamatan jenis. 4) Penghitungan menyokong penambahan kaedah untuk melaksanakan logik kompleks. 5) Pemeriksaan jenis dan pengendalian ralat yang ketat boleh mengelakkan kesilapan biasa. 6) Penghitungan mengurangkan nilai sihir dan meningkatkan keupayaan, tetapi memberi perhatian kepada pengoptimuman prestasi.

Penerapan prinsip pepejal dalam pembangunan PHP termasuk: 1. Prinsip Tanggungjawab Tunggal (SRP): Setiap kelas bertanggungjawab untuk hanya satu fungsi. 2. Prinsip Terbuka dan Tutup (OCP): Perubahan dicapai melalui lanjutan dan bukannya pengubahsuaian. 3. Prinsip Penggantian Lisch (LSP): Subkelas boleh menggantikan kelas asas tanpa menjejaskan ketepatan program. 4. Prinsip Pengasingan Antara Muka (ISP): Gunakan antara muka halus untuk mengelakkan kebergantungan dan kaedah yang tidak digunakan. 5. Prinsip Inversi Ketergantungan (DIP): Modul peringkat tinggi dan rendah bergantung kepada abstraksi dan dilaksanakan melalui suntikan ketergantungan.

Bagaimana cara debug mod CLI dalam phpstorm? Semasa membangun dengan PHPStorm, kadang -kadang kita perlu debug PHP dalam mod Interface Line Command (CLI) ...

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...

Bagaimana untuk menetapkan keizinan UnixSocket secara automatik selepas sistem dimulakan semula. Setiap kali sistem dimulakan semula, kita perlu melaksanakan perintah berikut untuk mengubahsuai keizinan UnixSocket: sudo ...
