Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengesahan log masuk PHP: membina sistem pengesahan pengguna yang selamat dan boleh dipercayai

Pengesahan log masuk PHP: membina sistem pengesahan pengguna yang selamat dan boleh dipercayai

PHPz
PHPzasal
2023-09-12 10:33:44726semak imbas

PHP 登录鉴权:构建一个安全可靠的用户认证系统

Dengan perkembangan pesat Internet, semakin banyak laman web dan aplikasi perlu melaksanakan fungsi pengesahan pengguna. Tujuan pengesahan pengguna adalah untuk melindungi privasi pengguna dan memastikan bahawa hanya pengguna yang diberi kuasa boleh mengakses maklumat sensitif. Sebagai bahasa pembangunan back-end yang popular, PHP menyediakan alat dan fungsi yang berkuasa untuk membina sistem pengesahan pengguna. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membina sistem pengesahan pengguna yang selamat dan boleh dipercayai.

1. Gunakan storan kata laluan yang dicincang
Dalam sistem pengesahan pengguna, storan kata laluan adalah komponen penting yang tidak boleh diabaikan. Untuk melindungi keselamatan kata laluan pengguna, kami perlu mencincang kata laluan pengguna. PHP menyediakan fungsi password_hash() untuk melaksanakan storan cincang kata laluan:

$kata laluan = '123456';
$hashedPassword = password_hash($password, PASSWORD_DEFAULT); dan disimpan dalam pembolehubah $hashedPassword. Kelebihan menyimpan kata laluan cincang ialah walaupun pangkalan data terjejas, penyerang tidak dapat memulihkan kata laluan teks biasa pengguna.

2. Gunakan pengurusan sesi

Pengurusan sesi adalah bahagian penting dalam sistem pengesahan pengguna dan digunakan untuk menjejaki status pengesahan pengguna. PHP menyediakan fungsi session_start() untuk memulakan sesi dan menyimpan serta mendapatkan status pengesahan pengguna melalui pembolehubah sesi.

session_start();

$_SESSION['authenticated'] = true;
Kod di atas menetapkan nilai yang disahkan dalam pembolehubah $_SESSION kepada benar selepas pengesahan pengguna berjaya. Dalam setiap halaman yang memerlukan pengesahan, anda boleh menyemak sama ada pengguna telah log masuk dengan menyemak pembolehubah $_SESSION.

if(kosong($_SESSION['disahkan'])){

header('Location: login.php');
exit();
}
Kod di atas menyemak sama ada pembolehubah $_SESSION kosong dan jika ia kosong, kemudian Ubah hala pengguna ke halaman log masuk.

3. Laksanakan fungsi log masuk dan log keluar

Fungsi log masuk dan log keluar dalam sistem pengesahan pengguna adalah penting. Berikut ialah contoh log masuk mudah:

cfdfdb24e2e975eeb6e8174deb71d605

100db36a723c770d327fc0aef2ce13b1

6c04bd5ca3fcae76e30b72ad730ca86d

  <form method="post" action="">
     <input type="text" name="username">
     <input type="password" name="password">
     <input type="submit" value="Login">
  </form>

36cc49f0c466276486e50c850b7e4956

be5ea7e3ccd16f72112761789539cf0f

Kod di atas mula-mula memulakan sesi dan memusnahkan sesi, dan kemudian Ubah hala pengguna ke halaman log masuk.

4. Laksanakan kawalan akses

Sistem pengesahan pengguna yang baik seharusnya dapat mengawal kebenaran pengguna secara fleksibel. PHP menyediakan mekanisme kawalan akses yang baik, yang dicapai dengan menambahkan semakan kebenaran pada halaman yang perlu dikawal.

Sebagai contoh, kita boleh menambah kod berikut pada halaman yang memerlukan kebenaran pentadbir untuk mengawal kebenaran:

b434730cd9ebfc7b3703eb3c637820dd

Kod di atas mula-mula menyemak sama ada pengguna telah log masuk dan sama ada peranan pengguna ialah pentadbir , ubah hala pengguna ke halaman log masuk jika syarat tidak dipenuhi.

5. Lindungi input pengguna

Aspek penting terakhir ialah melindungi input pengguna. Memandangkan input pengguna mungkin mengandungi kod hasad, kami perlu menapis dan mengesahkan input pengguna untuk memastikan bahawa hanya input yang sah boleh memasuki pemprosesan latar belakang.

PHP menyediakan beberapa fungsi untuk menapis dan mengesahkan input pengguna, termasuk filter_input(), filter_var(), dsb. Gunakan fungsi ini untuk menapis input pengguna, seperti menapis keluar kod hasad, aksara khas, dsb.

6. Ringkasan

Membina sistem pengesahan pengguna yang selamat dan boleh dipercayai adalah sangat penting untuk melindungi privasi pengguna dan memastikan keselamatan maklumat. Sebagai bahasa pembangunan bahagian belakang yang popular, PHP mempunyai alat dan fungsi yang berkuasa untuk membantu pembangun membina sistem pengesahan pengguna yang selamat. Artikel ini merangkumi langkah utama untuk menggunakan storan kata laluan yang dicincang, pengurusan sesi, kefungsian log masuk dan log keluar, kawalan akses dan melindungi input pengguna. Dengan mengikuti langkah ini, pembangun boleh membina sistem pengesahan pengguna yang selamat dan boleh dipercayai yang melindungi privasi pengguna dan memastikan keselamatan maklumat.

Atas ialah kandungan terperinci Pengesahan log masuk PHP: membina sistem pengesahan pengguna yang selamat dan boleh dipercayai. 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