Maison > Article > développement back-end > Démystifier HTTP 401 non autorisé : problèmes de restriction d'accès dans le développement PHP
L'erreur HTTP 401 non autorisée indique que le serveur ne peut pas accepter les requêtes non authentifiées. Pour résoudre ce problème, vous pouvez suivre ces étapes : Activez l'authentification de base HTTP pour demander à l'utilisateur ses informations d'identification. Vérifiez les informations d'identification fournies et autorisez l'accès uniquement aux utilisateurs autorisés.
Révéler HTTP 401 non autorisé : problèmes de restriction d'accès dans le développement PHP
Le code d'erreur HTTP 401 non autorisé signifie que le serveur rejette la demande sans vérification. Cela signifie que le serveur nécessite des informations d'identification valides pour accéder aux ressources protégées. En PHP, ce code d'erreur peut être facilement généré en utilisant la constante HTTP_UNAUTHORIZED :
header('HTTP/1.1 401 Unauthorized');
Pour empêcher tout accès non autorisé, les étapes suivantes peuvent être implémentées dans les applications PHP :
1 Activer l'authentification de base HTTP
// 在 PHP 脚本的顶部添加以下行: header('WWW-Authenticate: Basic realm="Restricted Area"');
Ceci. invitera l'utilisateur à saisir son nom d'utilisateur et son mot de passe via une boîte de dialogue contextuelle.
2. Vérifier les informations d'identification
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'); }
Exemple pratique
Voici un script PHP simple qui montre comment protéger une page et autoriser l'accès uniquement aux utilisateurs autorisés :
<?php // 启用 HTTP 基本身份验证 header('WWW-Authenticate: Basic realm="Protected Area"'); // 验证凭据 if (isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) { $username = $_SERVER['PHP_AUTH_USER']; $password = $_SERVER['PHP_AUTH_PW']; // 检查凭据的有效性(例如,从数据库中检索) if ($username === 'john' && $password === 'example') { // 授权用户,显示受保护的内容 echo '<h1>欢迎,' . $username . '!</h1>'; } else { // 凭据无效,拒绝访问 header('HTTP/1.1 401 Unauthorized'); } } else { // 未提供凭据,拒绝访问 header('HTTP/1.1 401 Unauthorized'); } ?>
En suivant ces étapes, vous pouvez facilement implémenter restrictions d'accès dans les applications PHP pour garantir que seuls les utilisateurs autorisés peuvent accéder aux données ou ressources sensibles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!