PHP의 HTTP 401 무단 오류를 처리하고 HTTP 401 오류를 전송하여 웹사이트 보안을 강화합니다: header('HTTP/1.1 401 Unauthorized') http_response_code(401); 인증 추가: header('WWW-Authenticate: Basic realm= "Realm 이름"');실제 사례: secure_page.php는 기본 인증을 사용하여 HTTP 401 오류를 처리합니다.
마스터 PHP HTTP 401 무단 오류 및 웹 사이트 보안 강화
Introduction
HTTP 401 무단 오류는 클라이언트가 인증이 필요한 리소스에 액세스하려고 함을 나타내는 서버 응답이지만 제공된 자격 증명이 잘못되었거나 존재하지 않습니다. 이러한 종류의 오류를 처리하는 것은 웹 사이트를 안전하게 유지하는 데 중요합니다. 이 기사에서는 PHP에서 HTTP 401 Unauthorized 오류를 처리하는 방법을 살펴보고 실제 사례를 제공합니다.
HTTP 401 오류 처리
PHP에서는 header()
함수를 통해 HTTP 401 오류를 보낼 수 있습니다. header()
函数发送 HTTP 401 错误:
header('HTTP/1.1 401 Unauthorized');
此外,可以通过 http_response_code()
函数设置 HTTP 状态代码:
http_response_code(401);
添加身份验证
要解决 HTTP 401 错误,可以向请求添加身份验证信息。一种常见的做法是使用 basic HTTP 身份验证:
header('WWW-Authenticate: Basic realm="My Realm"');
这会提示用户输入用户名和密码。验证成功后,$_SERVER['PHP_AUTH_USER']
和 $_SERVER['PHP_AUTH_PW']
变量将分别包含用户名和密码。
实战案例
假设您有一个名为 secure_page.php
的受保护页面,要处理 HTTP 401 错误并强制 basic 身份验证:
<?php if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) { header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm="Secure Page"'); exit; } $username = $_SERVER['PHP_AUTH_USER']; $password = $_SERVER['PHP_AUTH_PW']; // 在数据库中检查用户名和密码 $valid = check_credentials($username, $password); if (!$valid) { header('HTTP/1.1 401 Unauthorized'); exit; } // 验证成功,显示受保护页面 ?>
check_credentials()
rrreee
를 통해 HTTP 401 오류를 보낼 수도 있습니다. http_response_code()
함수 HTTP 상태 코드 설정: rrreee인증 추가
HTTP 401 오류를 해결하려면 요청에 인증 정보를 추가할 수 있습니다. 일반적인 방법은 기본 HTTP 인증을 사용하는 것입니다. 🎜rrreee🎜이렇게 하면 사용자에게 사용자 이름과 비밀번호를 묻는 메시지가 표시됩니다. 인증에 성공하면$_SERVER['PHP_AUTH_USER']
및 $_SERVER['PHP_AUTH_PW']
변수에 각각 사용자 이름과 비밀번호가 포함됩니다. 🎜🎜🎜실용 사례🎜🎜🎜HTTP 401 오류를 처리하고 기본 인증을 강제하기 위해 secure_page.php
라는 보호된 페이지가 있다고 가정합니다. 🎜rrreee🎜check_credentials() 함수는 데이터베이스를 쿼리하고 제공된 사용자 이름과 비밀번호의 유효성을 검사하는 일을 담당합니다. 🎜🎜🎜결론🎜🎜🎜PHP의 HTTP 401 오류를 깊이 이해하면 인증 요청을 적절하게 처리하고 기본 인증을 시행하여 웹사이트의 보안을 향상시킬 수 있습니다. 이는 민감한 데이터를 보호하고 무단 액세스를 방지하는 데 도움이 됩니다. 🎜
위 내용은 PHP HTTP 401 무단 오류를 마스터하고 웹사이트 보안을 개선하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!