htaccessではなくPHPでベーシック認証をかける方法
2024/04/17
htaccessではなくPHPでベーシック認証をかける方法についてソースコードをメモ。
ソースコード
<?php
$user = 'testuser'; //認証のユーザー設定
$pass = 'testpass'; //認証のパスワード設定
if( $_SERVER["PHP_AUTH_USER"] == $user && $_SERVER["PHP_AUTH_PW"] == $pass ){ //ベーシック認証で入力したユーザー&パスが正しければ
echo 'success'; //認証成功時の処理
} else {
header("WWW-Authenticate: Basic realm=\"Please Enter Your Password\""); //違っている場合は認証ダイアログを出す
header("HTTP/1.0 401 Unauthorized");
//キャンセル時の表示
die('このページを見るにはログインが必要です');
}
?>
所感
Basic認証はapache設定かhtaccessで設定するものと認識していたので驚いた。
ユーザー設定のところをMySQLとかと組み合わせたら色々可能性が出てきそう。
あるサイトで会員になったときにIDパス渡されて、そこの認証がフォーム認証じゃなくてベーシック認証だったけど、こういう方法を取っていたんだと納得した。
関連記事
-
-
PHPでプロキシ経由で他サーバーに接続する方法(file_get_contents / curlの2パターン)
PHPでfile_get_contentsやcurlで他サーバに接続する際に自サ ...
-
-
PHPで日時比較時の注意
PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...
-
-
PHPでフォーム送信の際に禁止ワードのチェック及び制限をかける方法
掲示板等のformを送信する際に特定の禁止ワードが含まれていないかチェックするプ ...
-
-
PHPとGoogle Authenticatorの組み合わせで2段階認証を実装する方法
2段階認証と言えばSMS送信のケースが多く、その次に通常のメール送信というケース ...
-
-
CAPTCHAに代わる無料のツール「Cloudflare Turnstile」の導入方法
CAPTCHAと言えばGoogleのreCAPTCHAを思い浮かべるが、稀にCl ...