記事最終更新日:2017年09月04日

記事投稿日:2017年08月18日

閲覧数:4601 views

PHPでBasic認証を簡易実装する方法メモ -【PHP】

はじめに

今回のD.M.C.【デベメモドットコム】の記事は「PHPでBasic認証を簡易実装する方法メモ」という事で、PHPで簡単なBasic認証を作成していきたいと思います。

PHPでBasic認証

PHPのheader関数を使用する事によって、Basic認証の仕組みを利用する事ができます。

今回は関数に処理をまとめておき、呼び出しの際にIDとパスワードを設定して、認証時に正しく入力してもらう流れになります。

下記が実際のコードです。

<?php

    function basicAuth($name, $password, $realm = "Message"){
      if (!isset($_SERVER['PHP_AUTH_USER']) || !($_SERVER['PHP_AUTH_USER'] == $name && $_SERVER['PHP_AUTH_PW'] == $password )) {
        header('WWW-Authenticate: Basic realm="'.$realm.'"');
        header('HTTP/1.0 401 Unauthorized');
        echo 'Not access!!';
        exit;
      }
    }

    basicAuth('ID', 'PASSWORD', 'MESSAGE');

上記のコードは第一引数にIDを、第二引数にパスワード、第三引数にサーバーからのメッセージとして設定できるようにしています。

関数を実行するとまずPHPの環境変数のPHP_AUTH_USERとPHP_AUTH_PWの値が設定されていて、かつ入力されたものと一致するかをチェックしています。

照合できればそのままページ閲覧ができますし、認証できなければページ閲覧ができないようになっています。

感想

平文で送られているのでセキュリティ的にはあまりよくないかもしれないですが、単純に制限をかけたいだけの時はこの方法は便利なのでオススメです。

機会があれば使用してみてください。

では最後まで読んでいただき、ありがとうございました。

About / ブログについて

D.M.C. / デベメモドットコム

D.M.C.【デベメモドットコム】はWEB制作に関することを中心に、 その他、関連する事まで出来るだけわかりやすく備忘録としてメモを残していくブログです。
このブログを通して少しでも為になる情報を発信して皆さんと共有できればとても嬉しいです。

ページトップへ

Categories

Tags