gpt4 book ai didi

php - 如何防止用户通过编写 URL 直接访问我的 html 页面?

转载 作者:可可西里 更新时间:2023-10-31 22:42:18 26 4
gpt4 key购买 nike

我想要一个没有数据库的硬编码登录页面 (login.html)。如果有人输入正确的用户名和密码,它将重定向到 (page2.html)。

现在我的问题是,如果有人直接为 page2.html 编写 URL,他将能够访问它,而无需任何登录。

理想情况 => www.example.com/login.html => 如果正确 => www.example.com/page2.html

问题案例 => www.example.com/page2.html => page2.html , NO LogIN :(

最佳答案

你可以用这样的 php session 来控制所有这一切

  //set the session on the login page
$_SESSION['loggedIn'] = true;

//on the second page you check if that session is true, else redirect to the login page
if($_SESSION['loggedIn'])
//allow
else
//redirect to the login page
header('Location: /login.html');

A session是一种存储信息(在变量中)以跨多个页面使用的方法。默认情况下, session 变量持续到用户关闭浏览器。

为简单起见,您可以将页面更改为 php(例如 login.php)。

  • 第 1 行: 在您的 login.php 页面中,您将首先检查用户名和密码是否正确,如果正确,则设置 $_SESSION['loggedIn'] = true

  • 第 2 行: 在您的第二个页面 (page2.php) 中,您将首先通过检查 session 是否具有值来检查用户是否登录if($_SESSION['loggedIn']) {//允许处理

  • 第 3 行: 如果该 session 变量为空,那么这意味着用户没有登录,将他重定向到登录页面 else { header('Location:/login.php' );}

关于php - 如何防止用户通过编写 URL 直接访问我的 html 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30433253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com