使用php重定向登录页面


Login page redirect using php

我最近开始在我的WAMP服务器上进行web开发,并试图使用php和MySQL构建一个简单的登录页面。我所做的只是在成功的身份验证后,使用:header("Location: locahost/redirect.php")将用户重定向到一个新页面;在我的PHP脚本中

redirect.php是一个简单的页面,显示您已经成功登录。

我想问的是,我可以通过在我的地址栏中输入localhost/redirect.php简单地转到redirect.php。有没有一种方法,只有通过身份验证的用户才能访问页面…就像它在facebook和其他网站上工作一样,我们不能通过在我们的地址栏中输入URL来进入某人的个人资料。

这叫做URL操作

验证配置文件页面中的会话等信息。

+不要使用没有退出的header('Location:…');在它。在重定向后一定要退出。

header("Location: locahost/redirect.php");
exit;

否则它将加载页面内容并重定向。如果有人避免重定向,他可以看到页面内容

如果用户成功登录,您可以添加创建一个Cookie。(也许可以将值设置为日期,用户名和密码的md5哈希值,例如,并将其写入您的数据库,以便您可以稍后检查是否有人"欺骗"了Cookie)

然后在你的recdict .php你只需要看看这个Cookie是否存在(也许和你的数据库检查值?)。

另外,如果你设置cookie过期值,你可以控制用户是否应该只在该会话中登录,或者例如整个月。

很抱歉我以前没有这样做过,但也许我可以帮助你在这个想法

您可以在redirect.php页面中编写PHP代码,并创建一个条件语句:

  1. 如果用户已经登录,保持用户在页面中。
  2. 如果用户未登录,将其重定向到登录页面。

必须将此函数添加到redirect.php

function logged_in(){
return (isset($_SESSION['user_id'])) ? true :false;
}

然后加上

if (logged_in()===false){
header('Location: whateverpageyouwant.php');
exit();
}

您可以在成功认证时创建会话,并在redirect.php页面上检查。

如果您在此页面上没有找到会话,请将用户重定向到登录页面。

这样可以限制对redirect.php页面

的直接访问

谢谢