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>
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; }
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!