勉強したことのメモ

webプログラマが勉強したことのメモ。

PHPでベーシック認証をかける方法

   

PHPでBasic認証をかけているソースを拝見する機会があり、衝撃だったのでメモ。

以下ソースで認証をかけられる。

 

<?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でメルマガを配信する方法2

以前にPHPでメルマガを配信する方法を書いたけど、BCCだと相手の名前などユーザ ...

PHPでパスワード付きのZIP / PDFファイルを作成する方法

PHPでZIPファイル化する方法やPDFファイル出力する方法を過去に書いたが、何 ...

PHPでPOST送信する際に多次元配列も送る

PHPでPOST送信する際に多次元配列も送りたかった。ただ普通に送ろうとするとO ...

PHPで改行を含むデータをCSV化

PHPで改行を含むデータをCSV化した場合、そのCSVファイルをエクセル等で開く ...

PHPとSQLiteでi-mobileのデータをグラフ化

i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフ ...

特定のサイトからのリクエストのみ受け付けて処理する方法

指定したサイトからのリクエストのみ受け付けて処理したいという状況があった。その他 ...

PHPでExcelシートを出力する方法(PhpSpreadsheet)

PHPでエクセルシートを出力させたい。以前はPHPExcelを利用していたが現在 ...

PHPで%sとか%dとか

PHPで探し物していて%sとか%dとかいった記述があり 何これとなったのでメモ。 ...

ユーザーエージェントなどユーザー情報を取得する方法

上からUA、IP、ホスト名を取得。 $ua = $_SERVER['HTTP_U ...

Shift_JISでカタカナのソを出力するとエラー

先に結論として5C問題とかいうみたいで仕様らしい。 ■参考サイト http:// ...