Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan pengurusan sesi PHP dan pengesahan pengguna?

Bagaimana untuk menggunakan pengurusan sesi PHP dan pengesahan pengguna?

PHPz
PHPzasal
2023-06-29 09:40:39807semak imbas

Bagaimana untuk menggunakan pengurusan sesi PHP dan pengesahan pengguna?

1. Pengenalan
Dengan pembangunan aplikasi web, pengurusan sesi dan pengesahan pengguna menjadi semakin penting. Melalui pengurusan sesi, kami boleh menjejaki status dan tingkah laku pengguna serta melaksanakan fungsi seperti pengekalan log masuk dan ingatan troli beli-belah. Pengesahan pengguna adalah untuk melindungi sumber sistem dan mengawal hak akses dengan mengesahkan identiti pengguna. Sebagai bahasa skrip sebelah pelayan yang popular, PHP menyediakan pengurusan sesi yang kaya dan fungsi pengesahan pengguna Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan pengurusan sesi dan pengesahan pengguna.

2. Pengurusan Sesi

  1. Pengenalan Sesi
    Sesi merujuk kepada mekanisme untuk menyimpan data tentang pengguna di bahagian pelayan. Dalam PHP, data sesi disimpan pada pelayan, bukan pada klien, dan sesi berbeza dikenal pasti oleh ID sesi. PHP menyediakan fungsi session_start() untuk memulakan sesi.
  2. Buat sesi
    Dalam PHP, membuat sesi adalah sangat mudah, cuma panggil fungsi session_start(). Contohnya:

    <?php
    session_start();
    $_SESSION['username'] = 'john';
    ?>

    Kod di atas akan mencipta sesi baharu pada pelayan dan menyimpan nama pengguna dalam data sesi.

  3. Baca data sesi
    Gunakan pembolehubah superglobal $_SESSION untuk membaca data sesi dengan mudah. Contohnya:

    <?php
    session_start();
    $username = $_SESSION['username'];
    echo "Welcome back, $username!";
    ?>

    Kod di atas akan mengeluarkan mesej alu-aluan termasuk nama pengguna yang disimpan sebelum ini dalam sesi.

  4. Hancurkan Sesi
    Apabila pengguna log keluar atau menutup penyemak imbas, kami boleh memusnahkan sesi untuk mengosongkan data sesi. Sesi boleh dimusnahkan dengan mudah menggunakan fungsi session_destroy(). Contohnya:

    <?php
    session_start();
    // 清空会话数据
    $_SESSION = array();
    // 销毁会话
    session_destroy();
    ?>

    Kod di atas akan mengosongkan data sesi dan memusnahkan sesi.

3. Pengesahan Pengguna

  1. Pengenalan
    Pengesahan pengguna ialah mekanisme untuk mengesahkan identiti pengguna dan biasanya digunakan untuk melindungi sumber sistem. Dalam PHP, menggunakan pengesahan nama pengguna dan kata laluan adalah kaedah pengesahan pengguna yang paling biasa.
  2. Log Masuk Pengguna
    Log masuk pengguna biasanya dibahagikan kepada dua langkah: memaparkan borang log masuk dan memproses permintaan log masuk. Apabila borang log masuk dipaparkan, pengguna perlu memasukkan nama pengguna dan kata laluan mereka. Apabila memproses permintaan log masuk, pelayan mengesahkan bahawa nama pengguna dan kata laluan yang diberikan oleh pengguna adalah betul. Jika pengesahan berjaya, pelayan mencipta sesi dan menyimpan status log masuk dalam data sesi. dan ubah hala pengguna ke halaman yang dilindungi. Berikut adalah contoh mudah:

    <?php
    session_start();
    // 处理登录请求
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     $username = $_POST['username'];
     $password = $_POST['password'];
    
     // 验证用户名和密码
     if ($username == 'admin' && $password == 'admin123') {
         $_SESSION['loggedin'] = true;
         $_SESSION['username'] = $username;
         
         // 重定向到受保护的页面
         header('Location: protected_page.php');
         exit;
     } else {
         $error = 'Invalid username or password';
     }
    }
    ?>

    Dalam contoh di atas, jika pengesahan nama pengguna dan kata laluan berjaya, pelayan akan membuat sesi dan menyimpan status log masuk dan nama pengguna dalam data sesi. Pengguna kemudiannya dialihkan ke halaman yang dilindungi.

  3. Halaman Dilindungi
    Dalam halaman yang dilindungi, kami boleh menggunakan data sesi untuk mengesahkan bahawa pengguna telah log masuk. Jika pengguna tidak log masuk, ubah hala ke halaman log masuk. Berikut ialah contoh mudah:

    <?php
    session_start();
    // 验证用户是否登录
    if (!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
     header('Location: login.php');
     exit;
    }
    
    // 用户已登录,输出受保护的内容
    $username = $_SESSION['username'];
    echo "Welcome $username!";
    ?>

    Dalam contoh di atas, jika pembolehubah log masuk tidak wujud dalam sesi atau pembolehubah log masuk tidak sama dengan benar, pelayan akan mengubah hala pengguna ke halaman log masuk.

  4. Log Keluar Pengguna
    Proses log keluar pengguna adalah mudah, hanya musnahkan sesi. Berikut ialah contoh mudah:

    <?php
    session_start();
    // 销毁会话
    session_destroy();
    // 重定向到登录页面
    header('Location: login.php');
    exit;
    ?>

    Dalam contoh di atas, sesi dimusnahkan dan pengguna dialihkan ke halaman log masuk.

4. Ringkasan
Artikel ini memperkenalkan cara menggunakan pengurusan sesi PHP dan pengesahan pengguna untuk mencapai pengekalan log masuk dan kawalan akses. Pengurusan sesi melaksanakan penjejakan status dan penjejakan tingkah laku pengguna dengan menyimpan data pengguna. Pengesahan pengguna mengawal hak akses dengan mengesahkan identiti pengguna. Dengan menguasai teknik ini, aplikasi web yang lebih selamat dan berkuasa boleh dibangunkan.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan pengurusan sesi PHP dan pengesahan pengguna?. 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