如何防止用户登录成功后返回登录页面?

时间:2021-05-07 17:47:11

标签: php

这是我防止用户使用直接 URL 进入页面的示例代码

    <?php
    ob_start();
    include("../include/userlogin.php");
    include('../include/database.php');
    if(!isset($_SESSION)) 
    { 
        session_start(); 
    } 
    if($_SESSION['usertype'] != "admin"){
        $_SESSION['message'] = "You cannot access only admin is allowed!";
        header("location: login.php?success=1");
    }
    ob_end_flush()
    ?>

用户成功登录后如何实现这一点,如何防止该用户通过点击谷歌浏览器中的后退按钮返回登录页面?

2 个答案:

答案 0 :(得分:2)

您可以让另一个会话变量在登录成功时为 TRUE,如果不成功则为 false。然后可以在登录页面检查变量是否为真,并将用户重定向到所需页面。

答案 1 :(得分:1)

$_SESSION 容器可以存储用户何时登录,未登录时将取消设置。

<?php

session_start();

if(isset($_POST["login"])){
    $user = "";
    $passwd = "";
    if(isset($_POST["user"]))
        $user = $_POST["user"];
    if(isset($_POST["passwd"]))
        $passwd = $_POST["passwd"];

    if(stripslashes($user) == "user" &&
        stripslashes($passwd) == "passwd")
    {
        $_SESSION["user"] = "user";
    }
}
if(isset($_GET["logout"]))
    session_destroy();

if(isset($_SESSION["user"]) && $_SESSION["user"] != "user")
    include "internalPage.php";
else
    include "loginPage.php";
相关问题