HTTP 401 무단 오류는 서버가 인증되지 않은 요청을 수락할 수 없음을 나타냅니다. 이 문제를 해결하려면 다음 단계를 따르십시오. HTTP 기본 인증을 활성화하여 사용자에게 자격 증명을 묻는 메시지를 표시합니다. 제공된 자격 증명을 확인하고 승인된 사용자에게만 액세스를 허용합니다.
HTTP 401 무단 공개: PHP 개발 시 액세스 제한 문제
HTTP 401 무단 오류 코드는 서버가 확인 없이 요청을 거부한다는 의미입니다. 이는 서버가 보호된 리소스에 액세스하려면 유효한 자격 증명이 필요함을 의미합니다. PHP에서는 HTTP_UNAUTHORIZED 상수를 사용하여 이 오류 코드를 쉽게 생성할 수 있습니다.
header('HTTP/1.1 401 Unauthorized');
무단 액세스를 방지하려면 PHP 애플리케이션에서 다음 단계를 구현할 수 있습니다.
1 HTTP 기본 인증 활성화
// 在 PHP 脚本的顶部添加以下行: header('WWW-Authenticate: Basic realm="Restricted Area"');
This 팝업 대화 상자를 통해 사용자에게 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.
2. 자격 증명 확인
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'); }
실용적 예
다음은 페이지를 보호하고 승인된 사용자에게만 액세스를 허용하는 방법을 보여주는 간단한 PHP 스크립트입니다.
<?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'); } ?>
다음 단계를 따르면 쉽게 구현할 수 있습니다. 권한이 있는 사용자만 중요한 데이터나 리소스에 액세스할 수 있도록 PHP 애플리케이션의 액세스 제한을 적용합니다.
위 내용은 HTTP 401 무단 이해: PHP 개발 시 액세스 제한 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!