ホームページ  >  記事  >  バックエンド開発  >  PHP 401 Unauthorized と認可メカニズムについての深い理解

PHP 401 Unauthorized と認可メカニズムについての深い理解

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

PHP の 401 Unauthorized エラーは、リクエストが承認されていないことを示しており、その原因としては次のことが考えられます: 1. クライアントが認証情報を提供しなかった; 2. 認証情報が無効である; 3. クライアントがリソースにアクセスする権限を持っていない。不正アクセスを防ぐために、PHP は、1. 基本認証 (HTTP 認証)、2. トークン認証 (JWT/OAuth)、3. セッション (認証されたユーザー情報の保存) などの認証メカニズムを提供します。

深入理解 PHP 401 Unauthorized 及授权机制

#PHP 401 Unauthorized と認可メカニズムについての深い理解

はじめに

PHP Medium 401 Unauthorized エラーは、リクエストが承認されていないことを意味します。このエラーは通常、次のいずれかの理由によるものです:

    クライアントが資格情報を提供しませんでした。
  • 提供された資格情報は無効です。
  • クライアントには、指定されたリソースにアクセスする権限がありません。

認可メカニズム

不正アクセスを防ぐために、PHP は次のようなさまざまな認可メカニズムを提供します。

  • 基本認証: HTTP 認証にはユーザー名とパスワードを使用します。
  • トークン認証: 認証には JSON Web トークン (JWT) または OAuth 2.0 トークンを使用します。
  • セッション: PHP セッションを使用して、認証されたユーザーの詳細を保存します。

実際的なケース:

PHP アプリケーションがあり、「secret.php」という名前のファイルを保護する必要があるとします。これを実現するには、基本認証を使用します。

<?php

if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) {
    // 拒绝访问并显示错误消息
    header('HTTP/1.1 401 Unauthorized');
    exit;
}

// 验证凭据
if ($_SERVER['PHP_AUTH_USER'] != 'username' || $_SERVER['PHP_AUTH_PW'] != 'password') {
    // 验证失败
    header('HTTP/1.1 401 Unauthorized');
    exit;
}

// 允许访问
// ...

注:

    基本認証は、シンプルで一般的に使用される認証メカニズムですが、あまり安全ではありません。資格情報は平文で送信されるためです。
  • より安全なオプションとして、資格情報を送信しないトークンまたはセッションの使用を検討してください。

以上がPHP 401 Unauthorized と認可メカニズムについての深い理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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