PHP 入門: 認証と認可

WBOY
リリース: 2023-05-20 08:24:01
オリジナル
1427 人が閲覧しました

PHP は強力かつ柔軟なプログラミング言語であり、Web アプリケーションの標準的な選択肢の 1 つとなっています。したがって、セキュリティも開発者が理解し、考慮しなければならない問題の 1 つです。この記事では、PHP での認証と認可について説明します。

認証とは、ユーザーの ID が有効かどうかを判断することを指します。通常、認証には、ユーザーが資格情報を送信し、ユーザーがさらなる操作を実行できるようになる前に、Web アプリケーションが資格情報が正しいことを検証することが含まれます。

PHP では、最も一般的な認証タイプはフォームベースの認証です。基本的なプロセスは、ユーザーがログイン ページにユーザー名とパスワードを入力し、Web アプリケーションがこの情報の正確性を検証し、その結果に基づいてユーザーが特定のページまたはリソースへのアクセスを継続できるかどうかを決定するというものです。

これは、フォームベース認証のための簡単な PHP コードです:

<?php
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
    $username = $_POST['username'];
    $password = $_POST['password'];
    if($username == "admin" && $password == "admin123") {
        $_SESSION['loggedin'] = true;
        header("Location: homepage.php");
        exit;
    } else {
        $error = "Invalid login credentials";
    }
}
?>
<!DOCTYPE html>
<html>
<head>
    <title>Login</title>
</head>
<body>
    <h2>Login Form</h2>
    <form method="post">
        <label>Username:</label>
        <input type="text" name="username"><br><br>
        <label>Password:</label>
        <input type="password" name="password"><br><br>
        <input type="submit" value="Login">
    </form>
    <?php
    if(isset($error)) {
        echo "<div style='color:red'>" . $error . "</div>";
    }
    ?>
</body>
</html>
ログイン後にコピー

上記のコードでは、最初にセッションを開始し、次にリクエストが POST リクエストであるかどうかを確認します。その場合、ログイン フォームからユーザー名とパスワードを取得して検証し、検証に合格した場合は、ユーザーをログイン済みとして設定し、ホームページにリダイレクトします。検証に合格しない場合は、エラー メッセージが表示されます。

同時に、session_start() を使用してセッションを初期化し、$_SESSION を使用してユーザーがログインしているかどうかなどの重要な情報を保存します。 。他のページでは、$_SESSION 変数を使用して、ユーザーがログインしているかどうかを確認できます。

承認とは、検証後に特定の操作を実行するための特定のアクセス許可をユーザーに付与することです。 PHP では、アクセス制御コードを記述することで承認を実現できます。このコードは通常、別のファイルに保存され、アクセス制御が必要なページによって参照されます。

以下は、ユーザーが特定のページへのアクセスを許可されているかどうかを確認する方法を示すサンプル コードです:

session_start();
if(!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] !== true) {
    header("Location: login.php");
    exit;
} else if($_SESSION['role'] !== 'admin') {
    header("Location: unauthorized.php");
    exit;
}
ログイン後にコピー

上記のコードでは、現在のユーザーのセッションが存在するかどうかを確認します。ユーザーはログインしています。ログインしていない場合は、ユーザーをログイン ページにリダイレクトします。ユーザーがログインしている場合は、ユーザーのロールが管理者であるかどうかを引き続き確認します。そうでない場合は、権限が不十分なページにユーザーをリダイレクトします。

PHP の認証と認可は単純かもしれませんが、Web アプリケーションにとってセキュリティを確保することは非常に重要です。基本概念を理解し、追加のセキュリティ対策を組み込み、必要な調整を行っていれば、Web アプリケーションの認証と認可のセキュリティと信頼性を確保できます。

以上がPHP 入門: 認証と認可の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!