ik heb een database met een kolom en die heet: autorisatie. Binnen de autorisatie heb ik vier rollen.
Namelijk: admin, webbeheerder, bieb en lid.
En de vier rollen mogen op bepaalde websites kijken, behalve de admin die mag alle paginas bekijken.
webbeheerder mag admin.php en web.php zien.
bieb mag admin.php en bieb.php zien.
lid mag lid.php en data.php zien.
Hiervoor heb ik een whitelist gemaakt.
het punt is dat de eerste if(webbeheerder) wel werkt maar de twee elseif $bieb en $lid werken niet. Als ik inlog als bieb dan wordt bieb.php niet geopend. en als ik inlog als lid dan wordt lid.php en data.php niet geopend, ik krijg dan de pagina geen_toegang.php te zien, en dit is niet de bedoeling.
Als ik van de twee elseif een if maak dan werkt dit ook niet.
mijn vraag is: hoe moet je een whitelist maken als je inlogt als webbeheerder dat je dan admin.php en web.php zien. Als je inlogt als bieb dat je dan admin.php en bieb.php zien. En als je inlogt als lid dat je dan lid.php en data.php zien.
Alvast bedankt.
de code is:
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
//session_start();
include 'connect.php';
$webbeheerder = "SELECT * FROM leden WHERE autorisatie = 'webbeheerder' ";
$bieb = "SELECT * FROM leden WHERE autorisatie = 'bieb' ";
$lid = "SELECT * FROM leden WHERE autorisatie = 'lid' ";
if ($webbeheerder) {
$whitelist = array("/folder/admin.php", "/folder/web.php");
$ip = $_SERVER['SCRIPT_NAME'];
if (in_array($ip, $whitelist)) {
} else {
header("Location: geen_toegang.php");die();
}
}
elseif ($bieb) {
$whitelist2 = array("/folder/admin.php", "/folder/bieb.php");
$ip2 = $_SERVER['SCRIPT_NAME'];
if (in_array($ip2, $whitelist2)) {
} else {
header("Location: geen_toegang.php");die();
}
}
elseif ($lid) {
$whitelist3 = array("/folder/lid.php", "/folder/data.php");
$ip3 = $_SERVER['SCRIPT_NAME'];
if (in_array($ip3, $whitelist3)) {
} else {
header("Location: geen_toegang.php");die();
}
}
?>