在PHP中通过URL访问页面的限制?

时间:2015-05-28 08:35:25

标签: php

我有php应用程序,当用户登录到应用程序然后会话开始。在会话中,我已存储用户类型和ID。使用用户类型限制用户页面的访问,如add.php,display.php,edit.php等。

我的问题是,当用户登录到应用程序时,用户类型和id将存储在会话中,但是当任何用户更改url时,如add.php。其他用户将访问此页面。

我想在用户更改网址时再做一些错误信息。

<?php
session_start();
if(!isset($_SESSION['username']) || !isset($_SESSION['login_type']) )
{
     header("Location:logout.php");
     exit;
}

?>

1 个答案:

答案 0 :(得分:0)

不要只使用isset。这只会检查变量是否存在,并且不会检查变量包含的值

所以,你可以在函数

中包含这样的东西
if(!isset($_SESSION['username']) && $_SESSION['login_type'] != 'Admin') )
{
     header("Location:logout.php"); //Do not allow him to access.
     exit;
}

首先,当您要创建会话时,创建sessionlogintype变量user,admin,superadmin

然后创建一个通用函数来检查会话。像

checkSession();

将此功能放在您include的文件中 在处理和显示文件之前,此功能应该能够验证用户是否在顶部被授权。