一部のphpにbasic認証をかけたいのですが、
IDとPASSを入力しても再度認証画面が出てきてしまいます。
コード:
--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---
<?php if(!is_home()): if(is_page('Basic認証を掛けたいページID ')): $userArray = array("ID" => "PASS" ); basic_auth($userArray); endif; endif; ?>ちなみに、.htaccessに以下の記述を記入すると解消されるとの記事を見かけ試しましたが、変化なしでした。
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.)
RewriteRule ^(.) - [E=HTTP_AUTHORIZATION:%1]
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー