cari
Rumahpembangunan bahagian belakangmasalah PHPBagaimana untuk melaksanakan log masuk pentadbir dan pengguna ke halaman yang berbeza dalam laman web PHP

Dalam kebanyakan tapak web, halaman yang boleh diakses oleh pentadbir dan pengguna biasa selepas log masuk selalunya berbeza. Terutama untuk tapak web yang perlu melindungi privasi dan kerahsiaan, menggunakan penyelesaian reka bentuk halaman yang berbeza boleh meningkatkan kebolehpercayaan dan keselamatan sistem. Dalam artikel ini, kami akan meneroka cara melaksanakan log masuk pentadbir dan pengguna ke halaman berbeza dalam tapak web PHP.

1 Ambil sesi sebagai contoh

Sesi dalam PHP direka untuk menyelesaikan masalah status log masuk pengguna Oleh kerana HTTP ialah protokol tanpa kewarganegaraan, setiap permintaan memerlukan maklumat Pensijilan. Mekanisme sesi boleh menyelesaikan masalah ini dengan menyimpan status pengguna pada bahagian pelayan, mengekalkan status sesi dan menghantar data sesi antara klien dan pelayan.

1.1 Halaman log masuk

Pertama sekali, kami boleh mereka bentuk halaman log masuk yang berbeza untuk pentadbir dan pengguna. Mengambil halaman log masuk pentadbir sebagai contoh, kami boleh menambah pengecam pada kod sumber halaman untuk menunjukkan bahawa halaman itu ialah halaman log masuk pentadbir. Contohnya:

nbsp;html>


    <meta>
    <title>管理员登录页面</title>


    <h1 id="管理员登录">管理员登录</h1>
    
                 
        
             

Dalam halaman ini, kami menghantar nilai jenis melalui elemen tersembunyi untuk menunjukkan bahawa halaman log masuk semasa ialah halaman log masuk pentadbir. Nilai jenis ini boleh digunakan dalam pengendali log masuk pada bahagian belakang.

1.2 Pemprosesan log masuk

Dalam PHP, kita boleh menggunakan tatasusunan $_SESSION untuk menyimpan data sesi. Dalam pengendali log masuk, kita boleh menentukan kategori log masuk pengguna berdasarkan nilai jenis, dan selepas log masuk berjaya, simpan maklumat pengguna dalam $_SESSION untuk kegunaan halaman seterusnya.

Contohnya:

<?php session_start();
if ($_POST[&#39;type&#39;] == &#39;admin&#39;) {
    //处理管理员登录
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    if ($username == &#39;admin&#39; && $password == &#39;123456&#39;) {
        //登录成功
        $_SESSION[&#39;admin&#39;] = $username;
        header(&#39;Location:admin.php&#39;);
    } else {
        //登录失败
        header(&#39;Location:admin_login.php&#39;);
    }
} else {
    //处理普通用户登录
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    if ($username == &#39;user&#39; && $password == &#39;123456&#39;) {
        //登录成功
        $_SESSION[&#39;user&#39;] = $username;
        header(&#39;Location:user.php&#39;);
    } else {
        //登录失败
        header(&#39;Location:user_login.php&#39;);
    }
}
?>

Dalam pengendali log masuk ini, kami memperoleh nilai jenis yang diluluskan oleh hujung hadapan melalui tatasusunan $_POST untuk menentukan kategori pengguna mana log masuk semasa berada. Jika ia milik pentadbir, maklumat pengguna log masuk yang berjaya disimpan dalam $_SESSION['admin'] dan melompat ke halaman pentadbir. Jika ia adalah pengguna biasa, maklumat pengguna yang berjaya log masuk disimpan dalam $_SESSION['user'] dan melompat ke halaman pengguna. Jika log masuk gagal, lompat kembali ke halaman log masuk yang sepadan.

1.3 Kawalan kebenaran halaman

Apabila pentadbir dan pengguna biasa mempunyai halaman berbeza yang boleh mereka akses selepas log masuk, kami perlu mengawal kebenaran di halaman berikutnya. Dalam PHP, kita boleh menentukan kategori pengguna semasa dengan menilai nilai dalam tatasusunan $_SESSION, dengan itu mengawal halaman yang boleh diakses oleh pengguna.

Sebagai contoh, dalam halaman pentadbir, kita boleh melaksanakan kawalan kebenaran seperti ini:

<?php session_start();
if ($_SESSION[&#39;admin&#39;] != &#39;admin&#39;) {
    header(&#39;Location:admin_login.php&#39;);
    exit();
}
?>
nbsp;html>


    <meta>
    <title>管理员页面</title>


    <h1 id="管理员页面">管理员页面</h1>
    <p>欢迎 <?php  echo $_SESSION[&#39;admin&#39;]; ?> 登录</p>
    <a>退出登录</a>

Dalam halaman ini, kita mula-mula menentukan sama ada nilai $_SESSION['admin'] ialah ' admin', jika tidak, lompat ke halaman log masuk pentadbir. Jika ya, anda boleh memaparkan kandungan halaman pentadbir, memaparkan nama pengguna log masuk pada halaman dan menyediakan pautan untuk log keluar.

Kawalan kebenaran halaman lain juga boleh dilaksanakan dengan cara yang sama.

2. Ambil kuki sebagai contoh

Selain sesi, kami juga boleh menggunakan kuki untuk mengawal kebenaran pentadbir dan pengguna log masuk ke halaman yang berbeza. Dalam PHP, kita boleh menggunakan fungsi setcookie() untuk menetapkan nilai kuki. Dalam pengendali log masuk, kita boleh menetapkan nilai kuki yang berbeza mengikut kategori pengguna yang berbeza. Dalam halaman seterusnya, kami juga boleh mengawal halaman yang boleh diakses oleh pengguna berdasarkan nilai kuki.

2.1 Pemprosesan log masuk

Mengambil pentadbir tetapan dan kuki pengguna biasa sebagai contoh, kami boleh menambah kod berikut dalam pengendali log masuk:

<?php if ($_POST[&#39;type&#39;] == &#39;admin&#39;) {
    //处理管理员登录
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    if ($username == &#39;admin&#39; && $password == &#39;123456&#39;) {
        //登录成功
        setcookie(&#39;loginType&#39;, &#39;admin&#39;, time()+3600);
        header(&#39;Location:admin.php&#39;);
    } else {
        //登录失败
        header(&#39;Location:admin_login.php&#39;);
    }
} else {
    //处理普通用户登录
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    if ($username == &#39;user&#39; && $password == &#39;123456&#39;) {
        //登录成功
        setcookie(&#39;loginType&#39;, &#39;user&#39;, time()+3600);
        header(&#39;Location:user.php&#39;);
    } else {
        //登录失败
        header(&#39;Location:user_login.php&#39;);
    }
}
?>

Dalam kod ini, kami menggunakan fungsi setcookie() untuk menetapkan kuki bernama loginType, dan menetapkan nilai kuki yang berbeza untuk pentadbir dan pengguna biasa. Kuki ini akan disimpan ke klien tempatan selepas pengguna berjaya log masuk untuk digunakan pada halaman berikutnya.

2.2 Kawalan kebenaran halaman

Apabila melawat halaman, kami boleh menentukan kategori pengguna semasa dengan menilai nilai kuki dan melaksanakan kawalan kebenaran. Dalam PHP, kita boleh mendapatkan nilai kuki yang disimpan oleh pelanggan melalui tatasusunan $_COOKIE untuk mencapai kawalan kebenaran.

Sebagai contoh, dalam halaman pentadbir, kami boleh melaksanakan kawalan kebenaran seperti ini:

<?php if ($_COOKIE[&#39;loginType&#39;] != &#39;admin&#39;) {
    header(&#39;Location:admin_login.php&#39;);
    exit();
}
?>
nbsp;html>


    <meta>
    <title>管理员页面</title>


    <h1 id="管理员页面">管理员页面</h1>
    <p>欢迎 <?php  echo $_COOKIE[&#39;loginType&#39;]; ?> 登录</p>
    <a>退出登录</a>

Dalam halaman ini, kami menentukan sama ada nilai $_COOKIE['loginType'] ialah ' admin' untuk menentukan kategori pengguna semasa. Jika tidak, lompat kembali ke halaman log masuk pentadbir. Jika ya, anda boleh memaparkan kandungan halaman pentadbir, memaparkan nama pengguna log masuk pada halaman dan menyediakan pautan untuk log keluar.

Kawalan kebenaran halaman lain juga boleh dilaksanakan dengan cara yang sama.

Ringkasan

Melalui contoh di atas, kami dapati bahawa untuk melaksanakan log masuk pentadbir dan pengguna ke halaman berbeza dalam tapak web PHP, sesi atau kuki boleh digunakan untuk menyimpan status pengguna dan menentukan status pengguna . Kawal halaman yang boleh diakses oleh pengguna. Menggunakan kaedah yang berbeza membolehkan kami memilih untuk senario aplikasi yang berbeza. Tidak kira kaedah yang digunakan, perhatian perlu diberikan untuk memastikan keselamatan dan kebolehpercayaan maklumat. Pada masa yang sama, apabila melaksanakan kawalan kebenaran, kami juga perlu mempertimbangkan kebolehskalaan dan kebolehselenggaraan aplikasi. Skim kawalan kebenaran yang baik boleh meningkatkan keselamatan dan kestabilan sistem serta menyediakan perkhidmatan yang lebih baik kepada pengguna.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan log masuk pentadbir dan pengguna ke halaman yang berbeza dalam laman web PHP. 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
Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Asid vs pangkalan data asas: perbezaan dan bila menggunakan setiap.Mar 26, 2025 pm 04:19 PM

Artikel ini membandingkan model pangkalan data asid dan asas, memperincikan ciri -ciri mereka dan kes penggunaan yang sesuai. Asid mengutamakan integriti data dan konsistensi, sesuai untuk aplikasi kewangan dan e-dagang, sementara asas memberi tumpuan kepada ketersediaan dan

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail.Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Pengesahan Input PHP: Amalan Terbaik.Pengesahan Input PHP: Amalan Terbaik.Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan.PHP API Kadar Mengehadkan: Strategi Pelaksanaan.Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

PHP Kata Laluan Hashing: password_hash dan password_verify.PHP Kata Laluan Hashing: password_hash dan password_verify.Mar 26, 2025 pm 04:15 PM

Artikel ini membincangkan manfaat menggunakan password_hash dan password_verify dalam php untuk mendapatkan kata laluan. Hujah utama ialah fungsi ini meningkatkan perlindungan kata laluan melalui penjanaan garam automatik, algoritma hashing yang kuat, dan secur

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum.Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Pencegahan PHP XSS: Bagaimana Melindungi Terhadap XSS.Mar 26, 2025 pm 04:12 PM

Artikel ini membincangkan strategi untuk mencegah serangan XSS di PHP, memberi tumpuan kepada sanitisasi input, pengekodan output, dan menggunakan perpustakaan dan kerangka kerja yang meningkatkan keselamatan.

PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.PHP Interface vs Kelas Abstrak: Bila Menggunakan Setiap.Mar 26, 2025 pm 04:11 PM

Artikel ini membincangkan penggunaan antara muka dan kelas abstrak dalam PHP, memberi tumpuan kepada masa untuk menggunakan setiap. Antara muka menentukan kontrak tanpa pelaksanaan, sesuai untuk kelas yang tidak berkaitan dan warisan berganda. Kelas Abstrak Memberi Funct Biasa

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

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa