管理画面に他人が勝手に入っては困ります。ユーザーIDとパスワードを設定して入室を制限しましょう。
まず以下のスクリプトを入室制限したいPHPファイルの先頭に追加します。
プログラムのご使用による損害は直接、間接に関わらず一切の責任をもちません。ご使用は自己責任でお願いします。
僕が使っているサーバーとドメイン管理のレジストラーです。
§管理画面への入室制限
管理画面に他人が勝手に入っては困ります。
ユーザーIDとパスワードを設定して入室を制限しましょう。
Basic認証
まず以下のスクリプトを入室制限したいPHPファイルの先頭に追加します。
$ID="任意のユーザーID";
$PW="任意のパスワード";
if( $_SERVER["PHP_AUTH_USER"]!=$ID || $_SERVER["PHP_AUTH_PW"]!=$PW ) //解説(1)
{
header( 'www-Authenticate:Basic realm="ThisSite"' ); //解説(2)
header( 'HTTP/1.0 401 Unauthorized' );
exit; //解説(3)
}
?>
このスクリプトを追加したPHPファイルにアクセスするとIDとパスワードを求めるダイアログが開きます。
続けて3回認証に失敗するか、キャンセルすると入室できません。
解説(1)
「 || 」は「or」と書き換えることも出来ます。
「どちらか一方の条件が真ならば」という意味です。
この場合、「$IDと$PWで設定したユーザーIDとパスワードのどちらかが一致しなければ」以降の処理を中止します。
解説(2)
header関数でBASIC認証のためのヘッダーを送信します。
reaml で設定する文字列は任意で構いません。
同じ reaml の値を持つページには自動的にIDとパスワードが送信されます。
ブラウザを閉じない限り、一度認証されると再アクセスするときはダイアログが開きません。
解説(3)
exit はスクリプトの処理を中断する関数です。
この部分を書き換えて、
print" ログイン失敗 ";
としたり、header 関数の Location: を使って違うページに飛ばすことも出来ます。
プログラムのご使用による損害は直接、間接に関わらず一切の責任をもちません。ご使用は自己責任でお願いします。