Отказ в разрешении на доступ к каталогу сессии

Я новичок в php

это скрипт страницы входа

<?php include('dbconnect.php');

$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);

$admins_sql = "SELECT * FROM  administrator WHERE   username = '" .$username. "' AND password = '".md5($password). "' AND status = 'Active'";
$admin_exe = mysql_query($admins_sql, $con);

//Setting session variable

$admin_row=mysql_fetch_array($admin_exe);
$_SESSION['username'] = $admin_row['username'];
$_SESSION['type'] = $admin_row['type'];

IF($_SESSION['type'] == 'Admin') {header("Location:admin");exit(); }
IF($_SESSION['type'] == 'Main') {header("Location:main");  exit(); }
IF($_SESSION['type'] == 'Teaching') {header("Location:Teaching"); exit(); }
IF($_SESSION['type'] == 'Exam Cell') {header("Location:Exam Cell"); exit(); }
IF($_SESSION['type'] == 'Non-Teaching') {header("Location:Non-Teaching"); exit(); }
IF($_SESSION['type'] == 'Library') {header("Location:Library"); exit(); }
IF($_SESSION['type'] == 'Main') {header("Location:office"); exit(); }
IF($_SESSION['type'] == 'Placement') {header("Location:Placement"); exit(); }
IF($_SESSION['type'] == 'Systems') {header("Location:CC"); exit(); }
IF($_SESSION['type'] == 'student') {header("Location:student"); exit(); }

?>

есть папки, как видно из перенаправлений в приведенном выше сценарии.

Моя проблема заключается в том, что если пользователь с типом обучения входит в систему, он будет перенаправлен для отображения URL-адреса URL / имени главной папки / Teaching / index.php. Они могут просто изменить Учение в URL-адресе на admin, а затем войти в папку администратора и получить доступ к функциям администратора.

Я хочу, чтобы один тип пользователя не входил в папку другого типа.

0

Решение

Например, в верхней части главной страницы вы должны подтвердить доступ и сделать то же самое для каждой области, которая у вас есть. Есть и другие способы сделать это, но этот путь должен подойти для того, что вы ищете.

session_start();
if( !isset( $_SESSION['type'] ) AND $_SESSION['type'] != 'Main' ) {
header("Location: AccessDenied");
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]