Bermula dengan PHP: Pengesahan dan Keizinan

WBOY
Lepaskan: 2023-05-20 08:24:01
asal
1427 orang telah melayarinya

PHP ialah bahasa pengaturcaraan yang berkuasa dan fleksibel serta telah menjadi salah satu pilihan standard dalam aplikasi web. Oleh itu, keselamatan juga merupakan salah satu isu yang mesti difahami dan difikirkan oleh pembangun. Artikel ini akan membantu anda bermula dengan pengesahan dan kebenaran dalam PHP.

Pengesahan merujuk kepada menentukan sama ada identiti pengguna adalah sah. Biasanya, pengesahan melibatkan pengguna menyerahkan bukti kelayakan dan aplikasi web mengesahkan bahawa bukti kelayakan adalah betul sebelum pengguna boleh melakukan operasi selanjutnya.

Dalam PHP, jenis pengesahan yang paling biasa ialah pengesahan berasaskan bentuk. Proses asas ialah pengguna memasukkan nama pengguna dan kata laluan mereka pada halaman log masuk, aplikasi web mengesahkan ketepatan maklumat ini, dan berdasarkan keputusan, memutuskan sama ada untuk membenarkan pengguna terus mengakses beberapa halaman atau sumber tertentu.

Berikut ialah kod PHP mudah untuk pengesahan berasaskan borang:

<?php
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST['username'];
    $password = $_POST['password'];
    if($username == "admin" && $password == "admin123") {
        $_SESSION['loggedin'] = true;
        header("Location: homepage.php");
        exit;
    } else {
        $error = "Invalid login credentials";
    }
}
?>
<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
</head>
<body>
    <h2>Login Form</h2>
    <form method="post">
        <label>Username:</label>
        <input type="text" name="username"><br><br>
        <label>Password:</label>
        <input type="password" name="password"><br><br>
        <input type="submit" value="Login">
    </form>
    <?php
    if(isset($error)) {
        echo "<div style='color:red'>" . $error . "</div>";
    }
    ?>
</body>
</html>
Salin selepas log masuk

Dalam kod di atas, kami mula-mula memulakan sesi dan kemudian menyemak sama ada permintaan itu adalah permintaan POST. Jika ya, kami mendapat nama pengguna dan kata laluan daripada borang log masuk dan mengesahkannya, jika pengesahan lulus, kami menetapkan pengguna sebagai log masuk dan mengubah hala mereka ke halaman utama. Jika pengesahan tidak lulus, mesej ralat dipaparkan.

Pada masa yang sama, kami juga menggunakan session_start() untuk memulakan sesi dan menggunakan $_SESSION untuk menyimpan maklumat penting seperti sama ada pengguna telah log masuk. Dalam halaman lain, kita boleh menggunakan pembolehubah $_SESSION untuk menyemak sama ada pengguna telah log masuk.

Kebenaran adalah untuk memberikan pengguna kebenaran khusus untuk melaksanakan operasi tertentu selepas pengesahan. Dalam PHP, kebenaran boleh dicapai dengan menulis kod kawalan akses. Kod ini biasanya disimpan dalam fail berasingan dan dirujuk oleh halaman yang memerlukan kawalan akses.

Berikut ialah contoh kod yang menunjukkan cara menyemak sama ada pengguna dibenarkan untuk mengakses halaman tertentu:

session_start();
if(!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
    header("Location: login.php");
    exit;
} else if($_SESSION['role'] !== 'admin') {
    header("Location: unauthorized.php");
    exit;
}
Salin selepas log masuk

Dalam kod di atas kami menyemak sama ada sesi untuk pengguna semasa wujud dan itu pengguna telah log masuk. Jika tidak log masuk, ubah hala pengguna ke halaman log masuk. Jika pengguna telah log masuk, kemudian teruskan menyemak sama ada peranan pengguna ialah Pentadbir. Jika tidak, ubah hala pengguna ke halaman dengan kebenaran yang tidak mencukupi.

Pengesahan dan kebenaran PHP mungkin mudah, tetapi untuk mana-mana aplikasi web, memastikan keselamatannya adalah penting. Selagi anda memahami konsep asas, menggabungkan langkah keselamatan tambahan dan membuat sebarang pelarasan yang diperlukan, anda boleh memastikan keselamatan dan kebolehpercayaan pengesahan dan kebenaran aplikasi web anda.

Atas ialah kandungan terperinci Bermula dengan PHP: Pengesahan dan Keizinan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!