Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Demystifying HTTP 401 Tanpa Kebenaran: Isu Sekatan Capaian dalam Pembangunan PHP

Demystifying HTTP 401 Tanpa Kebenaran: Isu Sekatan Capaian dalam Pembangunan PHP

王林
王林asal
2024-04-09 16:06:011063semak imbas

HTTP 401 Ralat tanpa kebenaran menunjukkan bahawa pelayan tidak boleh menerima permintaan yang tidak disahkan. Untuk menyelesaikan isu ini, anda boleh mengikuti langkah berikut: Dayakan Pengesahan Asas HTTP untuk menggesa pengguna untuk mendapatkan bukti kelayakan. Sahkan kelayakan yang diberikan dan hanya benarkan akses kepada pengguna yang dibenarkan.

揭秘 HTTP 401 未授权:PHP 开发中的访问限制问题

Mendedahkan HTTP 401 Tanpa Kebenaran: Isu Sekatan Akses dalam Pembangunan PHP

HTTP 401 Kod ralat tanpa kebenaran bermakna pelayan menolak permintaan tanpa pengesahan. Ini bermakna pelayan memerlukan kelayakan yang sah untuk mengakses sumber yang dilindungi. Dalam PHP, kod ralat ini boleh dijana dengan mudah dengan menggunakan pemalar HTTP_UNAUTHORIZED:

header('HTTP/1.1 401 Unauthorized');

Untuk menghalang akses tanpa kebenaran, langkah berikut boleh dilaksanakan dalam aplikasi PHP:

1 Dayakan Pengesahan Asas HTTP Ini

akan menggesa pengguna memasukkan nama pengguna dan kata laluan mereka melalui kotak dialog pop timbul.

2. Sahkan Bukti Kelayakan

// 在 PHP 脚本的顶部添加以下行:
header('WWW-Authenticate: Basic realm="Restricted Area"');

Contoh Praktikal

Berikut ialah skrip PHP mudah yang menunjukkan cara melindungi halaman dan hanya membenarkan akses kepada pengguna yang dibenarkan:

if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
  // 从服务器变量中获取提供的凭据
  $username = $_SERVER['PHP_AUTH_USER'];
  $password = $_SERVER['PHP_AUTH_PW'];
  
  // 检查凭据的有效性,例如:
  if ($username === 'admin' && $password === 'password') {
    // 授权已验证的用户
  } else {
    // 拒绝访问
    header('HTTP/1.1 401 Unauthorized');
  }
} else {
  // 拒绝访问,因为未提供凭据
  header('HTTP/1.1 401 Unauthorized');
}

Dengan mengikuti langkah ini dengan mudah, sekatan capaian dalam aplikasi PHP untuk memastikan bahawa hanya pengguna yang diberi kuasa boleh mengakses data atau sumber sensitif.

Atas ialah kandungan terperinci Demystifying HTTP 401 Tanpa Kebenaran: Isu Sekatan Capaian dalam Pembangunan 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
Artikel sebelumnya:Maklumat produk pertanyaan PHPArtikel seterusnya:Maklumat produk pertanyaan PHP