这是我防止用户使用直接 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()
?>
用户成功登录后如何实现这一点,如何防止该用户通过点击谷歌浏览器中的后退按钮返回登录页面?
答案 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";