如果以用户身份登录,可以进入管理页面

时间:2018-10-09 13:39:46

标签: php session login admin

我正在一个要拥有2页的网站上工作。我有登录页面,welcomeadmin.php和welcomeuser.php

如果我使用admin登录,我将重定向到管理页面;如果我以用户身份登录,我将被重定向到用户页面。

问题是,当我以用户身份登录并重定向到用户页面时,我还可以通过在URL中进行更改来访问welcomeadmin.php。

login.php:

session_start();

// Check if the user is already logged in, if yes then redirect him to 
welcome page
if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){
if($_SESSION['functie'] == 'admin'){
    header("location: welcomeadmin.php");
}
else{
    header("location: welcomeuser.php");
}

exit;
}   

welcomeadmin.php

if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){\
header("location: login.php");
exit;
}    

欢迎用户

<?php
// Initialize the session
session_start();

// Check if the user is logged in, if not then redirect him to login page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
?>

1 个答案:

答案 0 :(得分:0)

在您的welcomeadmin.php文件中,您不会检查试图访问该页面的用户是否确实是管理员。您可以在检查用户是否登录后使用简单的if语句在您的login.php文件中添加检查。只需在welcomeadmin.php文件中的第一个If之后添加此代码段即可。

if (!isset($_SESSION["functie"]) || $_SESSION["functie"] != "admin") {
    header("location: welcomeuser.php");
    exit;
}
相关问题