Basic認証 | PHP

f:id:hrt0kmt:20140510164708p:plain


構成


auth.php

<?php

$username = 'user';
$password = 'pass';

// もしユーザ名とパスワードがセットされていなかったり間違っていたら
if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || ($_SERVER['PHP_AUTH_USER'] != $username) || ($_SERVER['PHP_AUTH_PW'] != $password)) {
    // 認証不可メッセージを表示します。
    header('HTTP/1.1 401 Unauthorized');
    header('www-Authenticate: Basic realm="Authentication Test"');
    exit('エラー');
}
?>

index.php

<?php
    require_once('auth.php');
?>

<!DOCTYPE html>
<html la="ja">

解説

  • header()関数は、ファイルの先頭に記述。
  • インクルードファイルで汎用性を持たせるように。
  • Basic realmは、複数のページを保護。
  • exit()は、ユーザがキャンセルボタンをクリックした時に呼び出される。
  • exit()は、exit以降のコードが実行されたり、ブラウザに送られるのを防ぐ。




https://itunes.apple.com/jp/album/latch-feat.-sam-smith/id564397830?i=564397831&uo=4&at=10lpq9