php - PHP:如何防止用户在登录后单击返回按钮时进入登录页面?
问题描述
基本上,我不希望用户在成功登录系统后通过单击后退按钮访问登录页面。
下面是登录 check.php 的代码:-
<?php
include 'database.php';
session_start();
if (isset ($_POST['namaPengguna']))
{
$kataLaluan = $_POST['kataLaluan'];
$namaPengguna = $_POST['namaPengguna'];
$query = "SELECT * FROM pengguna
WHERE namaPengguna='$namaPengguna' && kataLaluan = '$kataLaluan' ";
$result = $mysqli->query($query) or die($mysqli->error._LINE_);
$row = $result->num_rows;
$info = $result->fetch_assoc();
$_SESSION['PenggunanoKP']=$info['PenggunanoKP'];
if($row<1)
{
header("Location:login design.php");
}
else{
header("Location:pilihAction.php");
}
}
?>
下一页:
<?php include 'database.php';
include 'session.php';
?>
<?php
echo $_SESSION['PenggunanoKP'];
?>
/*html code
解决方案
您的欢迎页面(登录后)应如下所示
<?php
session_start();
if(isset($_SESSION['directaccess']))
{
if(isset($_POST['logoutbtn']))
{
session_destroy();
header("location: loginform.php");
}
/* Your code goes here */
}
else{
exit('Access denied');
}
?>
<form class="myform" action="" method="post">
<input name="logoutbtn" type="submit" value="logout" class="sbbtn"
id="logout_btn" class="test"/>
</form>
</div>
</body>
</html>
Explanation :
在您的主登录/签入页面上:(in my example its $_SESSION['directaccess'])
在调用标头函数之前在 $_SESSION 中设置一个标志(成功登录欢迎页面)。. 然后在您成功的欢迎页面上,使用上面的代码片段。检查是否设置了该标志,然后只允许访问您的页面代码 else exit('Access Denied')
。
注销按钮action
应该在同一个欢迎页面上。如果单击按钮,则销毁会话,然后将标头函数调用回主登录/签入页面。
推荐阅读
- c++ - 返回右值引用
- node.js - Lets Encrypt ACME 服务器可能无法访问
- javascript - PHP 未检测到来自 JavaScript 请求的 POST JSON 数据
- docker - nexus 3 使用预定义配置创建 docker
- javascript - 匹配出现字符的第一个字符(它们必须彼此相邻)
- r - 如何针对某些特定值对面板数据回归系数执行联合 Wald 检验?
- python - 如何通过迭代对象类型记录来制作列表
- javascript - 无法让 JS 滑块与数据连接以进行过滤
- mysql - 如何根据bin log获取mysql的增量数据
- ios - 动态表视图高度