>  기사  >  백엔드 개발  >  PHP HTTP 401 무단 오류를 마스터하고 웹사이트 보안을 개선하세요

PHP HTTP 401 무단 오류를 마스터하고 웹사이트 보안을 개선하세요

WBOY
WBOY원래의
2024-04-09 12:12:01860검색

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 未授权错误,提升网站安全性

마스터 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.