mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

PHPでBASIC認証!

[ webサイト, サーバ構築 ] [ PHP ]

こんばんは。

今回は、自分の ホームページ の中でもある特定のページにログインする際、ID・パスワード の入力を促すようにしました。(PHPを使って)

ページログイン時の認証は BASIC 認証の他に Digest 認証とか、データベースを使ったものとかいろいろあるみたいだけど、 とりあえず、練習ということで一番基本的なBASIC認証を導入してみました。

以下が導入手順の覚書です。

ソースサンプル

ログイン認証したいページに以下のような記述を追加。
※当方は、 <head> タグのすぐ上に追加しました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$user = 'ここにID';
$password = 'ここにパスワード';

if (!isset($_SERVER['PHP_AUTH_USER'])){
    header('WWW-Authenticate: Basic realm="Private Page"');
    header('HTTP/1.0 401 Unauthorized');

    die('このページを見るにはログインが必要です');
}else{

    if ($_SERVER['PHP_AUTH_USER'] != $user
        || $_SERVER['PHP_AUTH_PW'] != $password){

        header('WWW-Authenticate: Basic realm="Private Page"');
        header('HTTP/1.0 401 Unauthorized');
        die('このページを見るにはログインが必要です');
    }
}

?>

これだけでした。

BASICだけあって簡単でした。
まあ、いろんなサイトからのコピペですけど。。。

参考までに認証画面のサンプル載せておきます。

  • FireFox3.0.6 php_basic_auth_ff3
  • Opera9.63 php_basic_auth_op9
  • InternetExplorer6.0 php_basic_auth_ie6 次は、データベースを使ってログイン認証してみたいと考えているところ。。。

では、また。

Comments