[英]Prevent direct access to a webpage by typing the URL
因此,我在goDaddy上托管了我的网站(我们的电话为abc.com )。
我有一个登录页面( abc.com/login.html )。
验证登录凭据后,将转到第二个页面,称为预订( abc.com/booking.html )。
因此,我不希望人们能够输入abc.com/booking.html并进行访问。 我希望他们去abc.com/login.html ,然后去abc.com/booking.html
所以我遇到了2种解决方法-
因此您的登录屏幕上应该已经实现了会话代码,该会话代码具有一个变量,该变量指定用户是否登录。 如果尚未实现,则代码将类似于:
<?php session_start();//at the very top of the page
?>
//... your own code
//if the user successfully logs in then:
$_SESSION['authenticated']=true;
然后在booking.php页面上(应该是允许使用php脚本的php,这对于验证用户是否登录非常重要),然后您将检查用户是否已登录。如果已登录,页面的其余部分加载,如果他没有加载,则将它们重定向到login.php:
在booking.php的最上方:
<?php session_start();
if (!isset($_SESSION['authenticated']))
{
//if the value was not set, you redirect the user to your login page
header('Location https://www.example.com/login.php');
exit;
}
else
{
//if the user did login, then you load the page normally
}
例如。
if (!isset($_POST['auth'])) {
// redirect user back to login page
} else {
// successful login
}
你可以像
重命名您要进行身份验证的所有页面的扩展名
例如
login.html >> login.php
booking.html >> booking.php
booking-suceess.html >> booking-success.php
使用以下代码创建一个脚本即auth.php
<?php
session_start();
if(!isset($_SESSION['username'])){
header("location:login.php");
}
?>
在login.php中添加会话
$_SESSION['username'] = $_POST['username'];
现在,您可以在要强制登录的任何php页面中添加auth.php ,如下所示:
include ('auth.php');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.