PHPだけでBasic認証
何かの拍子で使わないとも限らないのでメモ代わりに書いておく。ざっくりと流れだけ。
<?php if (!authenticate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'])) { header('WWW-Authenticate: Basic realm="title here"'); header('HTTP/1.1 401 Unauthorized'); echo 'Authentication failure.'; exit; } function authenticate($user, $password) { return ($user === VALID_USER && md5($password) === VALID_PASSWORD); } ?>
authenticate関数の部分でデータベースアクセスするようにすれば、データベースを用いた認証機能も作れたりする。以前作ったサイトで簡易的な認証として使ったことがある。
Digest認証なども含めた記述がPHPマニュアルにあるのでそちらも参考に。
※追記として補足を書いたのでよろしければどうぞ。