如何确保用户不在PHP中的特定页面上?

时间:2015-08-05 00:21:49

标签: php mysql login

我正在尝试使用php中的登录表单创建一个网站。我拥有的登录文件是:

login.html - 是登录表单
loginproc.php - 将表单中的数据与我的数据库进行比较,如果我的数据库中存在用户名和密码,则用户需要admin.php
admin.php - 是管理部分。

我想要做的是,如果用户输入网址index.php?page=loginproc,我希望将用户重定向到index.php?page=login。我尝试使用下面的代码执行此操作。

else if ($_GET['page'] == 'loginproc' && !isset($_SESSION['username']))  {
        header("Location:index.php?page=login");
        }

我的登录表单index.php?page=login应该可以转到index.php?page=loginproc,但我希望在用户登录时不会访问index.php?page=loginproc

2 个答案:

答案 0 :(得分:0)

也许你可以使用这样的东西:

if (stripos($_SERVER['HTTP_REFERER'], "index.php") === false) {
   exit;
}

答案 1 :(得分:0)

您需要设置标题或每页调用的区域

$page = $_SERVER['HTTP_REFERER'];
$user = $_SESSION['session_token'];
$userRole = $_SESSION['session_token_role'];

if($userRole != 'adminId'
&& $page != 'policy.php'){
    continue;
}