cari
Rumahpembangunan bahagian belakangtutorial phpBuat sistem log masuk yang kuat dengan PHP dalam lima langkah mudah

Create a Powerful Login System with PHP in Five Easy Steps

Tutorial ini akan membimbing anda untuk membina sistem log masuk yang kuat menggunakan PHP! Kami akan membimbing anda melalui keseluruhan proses langkah demi langkah, membantu anda dengan cepat membuat sistem log masuk yang selamat dan cekap untuk laman web anda.

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

untuk melindungi sistem log masuk anda selanjutnya, anda harus melaksanakan amalan terbaik berikut:

    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!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Penggunaan PHP yang berterusan: Sebab -sebab ketahanannyaPenggunaan PHP yang berterusan: Sebab -sebab ketahanannyaApr 19, 2025 am 12:23 AM

Apa yang masih popular adalah kemudahan penggunaan, fleksibiliti dan ekosistem yang kuat. 1) Kemudahan penggunaan dan sintaks mudah menjadikannya pilihan pertama untuk pemula. 2) Bersepadu dengan pembangunan web, interaksi yang sangat baik dengan permintaan HTTP dan pangkalan data. 3) Ekosistem yang besar menyediakan banyak alat dan perpustakaan. 4) Komuniti aktif dan Sumber Sumber Terbuka menyesuaikan mereka dengan keperluan baru dan trend teknologi.

PHP dan Python: Meneroka Persamaan dan Perbezaan merekaPHP dan Python: Meneroka Persamaan dan Perbezaan merekaApr 19, 2025 am 12:21 AM

PHP dan Python adalah kedua-dua bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dalam pembangunan web, pemprosesan data dan tugas automasi. 1.Php sering digunakan untuk membina laman web dinamik dan sistem pengurusan kandungan, sementara Python sering digunakan untuk membina kerangka web dan sains data. 2.Php Menggunakan Echo ke Kandungan Output, Python Menggunakan Cetakan. 3. Kedua-dua sokongan pengaturcaraan berorientasikan objek, tetapi sintaks dan kata kunci adalah berbeza. 4. PHP menyokong penukaran jenis lemah, manakala Python lebih ketat. 5. Pengoptimuman Prestasi PHP termasuk menggunakan OPCACHE dan pengaturcaraan asynchronous, manakala Python menggunakan pengaturcaraan CProfile dan tak segerak.

PHP dan Python: Paradigma yang berbeza dijelaskanPHP dan Python: Paradigma yang berbeza dijelaskanApr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP dan Python: menyelam mendalam ke dalam sejarah merekaPHP dan Python: menyelam mendalam ke dalam sejarah merekaApr 18, 2025 am 12:25 AM

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Memilih antara php dan python: panduanMemilih antara php dan python: panduanApr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP dan Rangka Kerja: Memodenkan bahasaPHP dan Rangka Kerja: Memodenkan bahasaApr 18, 2025 am 12:14 AM

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Impak PHP: Pembangunan Web dan seterusnyaImpak PHP: Pembangunan Web dan seterusnyaApr 18, 2025 am 12:10 AM

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Apr 17, 2025 am 12:25 AM

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.