勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

htaccessではなくPHPでベーシック認証をかける方法

   2024/04/17  PHP

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

  関連記事

PHPバージョンが古くjson_decodeが使えない際の対応方法(Services_JSON)
PHPバージョンが古くjson_decodeが使えない際の対応方法(Services_JSON)

PHPのバージョンが古くてjson_decodeが使えないという状況があった。ま ...

PHPのhash_file関数でファイルの改ざんを検知する方法
PHPのhash_file関数でファイルの改ざんを検知する方法

サイト内の特定の数ページのみ簡易的なものでも良いので自動でファイルの改ざんチェッ ...

PHPでキーや値は保持したまま順番を入れ替える
PHPでキーや値は保持したまま順番を入れ替える

PHPで連想配列のキーや値は保持したまま順番をランダムに入れ替えたかった。一発で ...

PHPで配列のキーの最大値を取得する方法
PHPで配列のキーの最大値を取得する方法

配列のキーに整数値が入っていて、その中から最大値を取得したいケースがあった。調べ ...

ブラウザから動画ファイル名を確認できないようにPHPで動画を出力する方法
ブラウザから動画ファイル名を確認できないようにPHPで動画を出力する方法

Webページ上で動画ファイルを再生したい場合、通常だとブラウザのソースコード上に ...