勉強したことのメモ

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で文字列の操作(検索、置換、切り出し)

しばしば行う文字列の操作をまとめておく。 ----- ■文字列の長さを調べる e ...

独自タグからタグへの変換function

独自タグは##IMG1##みたいな感じ。 画像ファイル名は「ファイルパス/seq ...

PHPでゼロパディング

予め桁数を決めておいて、桁数未満の場合は0で埋めたい場合の処理。 str_pad ...

MySQLのREGEXPで半角記号を検索したい場合

MySQLのREGEXPで半角記号を検索したい場合 \\を付けてエスケープしない ...

PHPでみたいに省略して書く際の設定

さくらvpsで<?=$hoge;?>とか省略して書こうとしても書けな ...

PHPでdo-while(0)の利点

社内のソースで do { //処理内容 if ($test) { break; ...

ユーザーエージェントからブラウザ名、バージョン、OS名判別

/***判別側***/ //ブラウザ情報の取得 function browser ...

PHPとStripeでクレジットカード決済処理

PHPとStripeの組み合わせでWebサービスにクレジットカード決済処理を導入 ...

PHPでアクセスIPからランダム英数字のIDを作成

PHPで掲示板などにあるようなアクセスIPからランダム英数字のIDを作成したかっ ...

PHPで複数の変数に同じ値を代入する

PHPのソースで $a = $b = $c = 12; みたいな見たことの無い代 ...