Rumah  >  Artikel  >  pembangunan bahagian belakang  >  深入理解 PHP 401 Unauthorized 及授权机制

深入理解 PHP 401 Unauthorized 及授权机制

WBOY
WBOYasal
2024-04-09 12:30:021124semak imbas

Ralat 401 Tanpa Kebenaran dalam PHP bermakna permintaan itu tidak dibenarkan, yang mungkin disebabkan oleh: 1. Pelanggan tidak memberikan kelayakan 2. Bukti kelayakan tidak sah 3. Pelanggan tidak mempunyai kebenaran untuk mengakses sumber. Untuk menghalang akses tanpa kebenaran, PHP menyediakan mekanisme kebenaran, termasuk: 1. Keizinan asas (pengesahan HTTP);

深入理解 PHP 401 Unauthorized 及授权机制

Pemahaman mendalam tentang PHP 401 Tanpa Kebenaran dan mekanisme kebenaran

Pengenalan

Ralat 401 Tanpa Kebenaran dalam PHP menunjukkan bahawa permintaan tersebut adalah tanpa kebenaran Ralat ini biasanya disebabkan oleh salah satu daripada sebab berikut:

  • Pelanggan tidak memberikan bukti kelayakan.
  • Sijil yang diberikan adalah tidak sah.
  • Pelanggan tidak mempunyai kebenaran untuk mengakses sumber yang ditentukan.

Mekanisme Kebenaran

Untuk menghalang akses tanpa kebenaran, PHP menyediakan pelbagai mekanisme kebenaran, termasuk:

  • Keizinan Asas: Gunakan nama pengguna dan kata laluan untuk pengesahan HTTP.
  • Keizinan Token: Sahkan menggunakan Token Web JSON (JWT) atau token OAuth 2.0.
  • Sesi: Gunakan sesi PHP untuk menyimpan butiran pengguna yang disahkan.

Kes praktikal:

Andaikan kita mempunyai aplikasi PHP dan perlu melindungi fail bernama "secret.php". Kita boleh mencapai ini menggunakan Kebenaran Asas:

<?php

if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) {
    // 拒绝访问并显示错误消息
    header('HTTP/1.1 401 Unauthorized');
    exit;
}

// 验证凭据
if ($_SERVER['PHP_AUTH_USER'] != 'username' || $_SERVER['PHP_AUTH_PW'] != 'password') {
    // 验证失败
    header('HTTP/1.1 401 Unauthorized');
    exit;
}

// 允许访问
// ...

Nota:

  • Keizinan Asas ialah mekanisme kebenaran yang mudah dan biasa digunakan, tetapi kurang selamat kerana bukti kelayakan dihantar dalam teks yang jelas.
  • Untuk pilihan yang lebih selamat, pertimbangkan untuk menggunakan token atau sesi kerana ia tidak menghantar bukti kelayakan.

Atas ialah kandungan terperinci 深入理解 PHP 401 Unauthorized 及授权机制. 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
Artikel sebelumnya:Artikel seterusnya: