ユーザーがサインアップすると、デフォルトの「member_type」が「User」として与えられます。header.php に格納されている関数を使用して、$_SERVER['SCRIPT_NAME'] を使用して、「ユーザー」および認証されていない訪問者から特定のページへのアクセスを制限しようとしています。
コンセプトはしっかりしていますが (私はそう信じています)、ロジックを解決するために新鮮な目が本当に必要です。
ヘッダーの関数は次のとおりです。
$basicAuth = array("member.php", "order.php", "logout.php");
$adminonly = array("admin.php", "v_feedback.php", "user.php", "v_content.php", "product.php");
restrictAccess($basicAuth, $adminonly);
そして、ここに関数全体があります:
function restrictAccess($basicAuth, $adminonly){
$error = "You do not have the authentication privileges to access this area, go <a href=\"index.php\" alt=\"Home\">home</a>.";
if (isset($_SESSION['type'])){
$auth = "Basic";
if($_SESSION['type']=="Admin"){
$auth = "Admin";
}
} else {
$auth = "None";
}
//For testing purposes
echo $auth;
if ($auth == "None"){
if(($_SERVER['SCRIPT_NAME']==$basicAuth)||($_SERVER['SCRIPT_NAME']==$adminonly)){
echo $error;
exit();
}
}elseif($auth =="Basic"){
if(($_SERVER['SCRIPT_NAME'])==$adminonly){
echo $error;
exit();
}
}
}
私がそれを構築した方法の背後にあるロジックと関係があると感じていますが、これは間違いです。
ありがとうございました。