WBOY
Lepaskan: 2024-04-09 12:30:02
asal
1153 orang telah melayarinya

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

// 允许访问
// ...
Salin selepas log masuk

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 . 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