目次
< 記事一覧

【WP】Basic認証のかけ方

<?php
//functions.phpに記述
function basic_auth($auth_list,$realm="Restricted Area",$failed_text="認証に失敗しました"){ 
    if (isset($_SERVER['PHP_AUTH_USER']) and isset($auth_list[$_SERVER['PHP_AUTH_USER']])){
        if ($auth_list[$_SERVER['PHP_AUTH_USER']] == $_SERVER['PHP_AUTH_PW']){
            return $_SERVER['PHP_AUTH_USER'];
        }
    }
 
    header('WWW-Authenticate: Basic realm="'.$realm.'"');
    header('HTTP/1.0 401 Unauthorized');
    header('Content-type: text/html; charset='.mb_internal_encoding());
 
    die($failed_text);
}

//header.phpに記述 
if(!is_page('page ID')): //Basic認証を省きたい場合は必要 
	if(is_home() || is_single() || is_page()): //Basic認証を掛けたいページID 
$userArray = array(
    "koukoku55" => "ob3266" // ユーザー名とパスワード
);
basic_auth($userArray);

//上記の記述でできない場合は、以下を.htaccessに記述すること
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です