ホームページ  >  記事  >  バックエンド開発  >  PHP HTTP 401 Unauthorized エラーをマスターし、Web サイトのセキュリティを向上させます

PHP HTTP 401 Unauthorized エラーをマスターし、Web サイトのセキュリティを向上させます

WBOY
WBOYオリジナル
2024-04-09 12:12:01860ブラウズ

PHP で HTTP 401 Unauthorized エラーを処理し、Web サイトのセキュリティを強化し、HTTP 401 エラーを送信します: header('HTTP/1.1 401 Unauthorized');http_response_code(401);認証を追加: header('WWW-Authenticate: Basic realm=" ;レルム名"');実際のケース: secure_page.php は基本認証を使用して HTTP 401 エラーを処理します。

掌握 PHP HTTP 401 未授权错误,提升网站安全性

#PHP HTTP 401 Unauthorized エラーをマスターし、Web サイトのセキュリティを強化する

はじめに# HTTP 401 Unauthorized エラーは、クライアントが認証を必要とするリソースにアクセスしようとしたが、指定された資格情報が無効か存在しなかったことを示すサーバー応答です。この種のエラーを処理することは、Web サイトを安全に保つために重要です。この記事では、PHP での HTTP 401 Unauthorized エラーの処理について詳しく説明し、実際のケースを示します。

HTTP 401 エラーの処理

PHP では、

header()

関数を通じて HTTP 401 エラーを送信できます: <pre class='brush:php;toolbar:false;'>header('HTTP/1.1 401 Unauthorized');</pre> さらに、HTTP ステータス コードは

http_response_code()

関数を使用して設定できます: <pre class='brush:php;toolbar:false;'>http_response_code(401);</pre>

認証を追加

HTTP 401 エラーを解決するには、認証情報の追加を要求できます。一般的な方法は、基本的な HTTP 認証を使用することです。

header('WWW-Authenticate: Basic realm="My Realm"');

これにより、ユーザーにユーザー名とパスワードの入力が求められます。認証が成功すると、

$_SERVER['PHP_AUTH_USER']

変数と $_SERVER['PHP_AUTH_PW'] 変数にそれぞれユーザー名とパスワードが含まれます。

実際的なケース

secure_page.php

という名前の保護されたページがあり、HTTP 401 エラーを処理して基本認証を強制したいとします。<pre class='brush:php;toolbar:false;'>&lt;?php if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) { header('HTTP/1.1 401 Unauthorized'); header('WWW-Authenticate: Basic realm=&quot;Secure Page&quot;'); 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; } // 验证成功,显示受保护页面 ?&gt;</pre>

check_credentials()

この関数は、データベースにクエリを実行し、指定されたユーザー名とパスワードを検証します。

結論

PHP の HTTP 401 エラーを深く理解すると、認証リクエストを適切に処理し、基本認証を強制することで Web サイトのセキュリティを向上させることができます。これは機密データを保護し、不正アクセスを防ぐのに役立ちます。

以上がPHP HTTP 401 Unauthorized エラーをマスターし、Web サイトのセキュリティを向上させますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。