データベースにユーザー用のテーブルがあり、各ユーザーには auth_level (1-3) があります。私のサイトには、新しいユーザー アカウントを追加/削除するための管理ページがあります。このページへのアクセスを、認証レベル 3 のユーザーのみに制限したいと考えています。 . 誰かが私を助けてくれることを願っています。
アクセスを制限するための私のコードは次のとおりです。どこが間違っているのかわかりません。check.php がセッションを開始します。
<?php
require_once('check.php');
//This function returns True if auth level = '3'
//Otherwise it returns False
function CheckAccess()
{
$result = (isset($_SESSION['SESS_AUTH_LEVEL']) && $_SESSION['SESS_AUTH_LEVEL'] == 3 );
if(!$result)
{
header('WWW-Authenticate: Basic realm=“Test restricted area”');
header('HTTP/1.0 401 Unauthorized');
return false;
}
else
{
header("location: admin.php");
}
}
?>
認証レベル 1 または 3 のユーザーとしてログインすると、同じ空白のページが表示されます。