BASIC認証とは?
あなたは、

これは上の入力欄にユーザ名を、
最近はセキュリティの関係で、
HTTPヘッダの設定
どんなことに役立つかというと、
これらは通常、
PHPプログラミングを行ううえで知っておきたいのは、
ユーザ名/パスワードは入力されたか
BASIC認証が必要であることを伝える前に、
$_SERVER[ 'PHP_AUTH_USER' ]
という変数が設定されているかどうかで判断します。つまりisset( $_SERVER[ 'PHP_AUTH_USER' ] )
です。
BASIC認証をさせる
もしユーザがまだユーザ名/
header( 'WWW-Authenticate: Basic realm="....."' );
header( 'HTTP/1.0 401 Unauthorized' );
このとき、
メッセージを"Members Only"とした場合の、



ユーザ名/パスワードを照合する
アクセスしたユーザがユーザ名/
ユーザが入力したユーザ名/
ユーザ名 : $_SERVER[ 'PHP_AUTH_USER' ]
パスワード : $_SERVER[ 'PHP_AUTH_PW' ] // 画面に表示すべきでない
会員用のページに移動する
照合の結果、
header( 'Location: 移動先のURL' );
プログラミング例
最後に、
もし入力された内容が間違っていたら、
<?php
// BASIC認証が行われたかどうか
if ( !isset( $_SERVER[ 'PHP_AUTH_USER' ] ) ) {
// BASIC認証が必要(realm="..."は入力欄の上に表示させるメッセージ)
header( 'WWW-Authenticate: Basic realm="Members Only"' );
// ステータスコード(Webサーバのアクセス状況をWebブラウザに伝える)
header( 'HTTP/1.0 401 Unauthorized' );
// ここに exit; を記述して、これ以降の処理をしないこともある
} else {
// 入力されたユーザ名とパスワードが正しいかを判断する
// ここでは文字列を直接比較しているが、実際にはデータベース
// など多くのデータを保存できるしくみを用いることが多い
if ( $_SERVER[ 'PHP_AUTH_USER' ] == 'username' &&
$_SERVER[ 'PHP_AUTH_PW' ] == 'password' ) {
// メンバー用のページにリダイレクト
header( 'Location: members.php' );
} else {
// アクセスが許されないことをWebブラウザに知らせる
header( 'HTTP/1.0 403 Forbidden' );
// 以降の処理を行わない(画面を表示しない)
exit;
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>PHPによるBASIC認証</title>
</head>
<body>
<h3>PHPによるBASIC認証</h3>
<p style="font-weight : bold; color : red;">ユーザ名とパスワードを正しく入力してください</p>
</body>
</html>


パスワードは保存時に暗号化
パスワードがどのように保存されているかは、
もしパスワードを入力されたそのままの状態で保存してしまっていると、
そのため、