PHP-防止未注册用户访问

PHP-防止未注册用户访问,php,Php,我正在建立一个简单的网站作为家庭作业。它需要登录才能看到内容,但现在如果我转到myserver/welcomepage.php,我就可以看到内容。我在welcomepage中使用了以下代码: if (!isset($_SESSION['Username'])) { header('Location:index.php'); exit; } 但是,如果有人尝试使用假登录登录,然后再次进入myserver/welcomepage.php,他可以看到内容。 我读到关于使用IP或C

我正在建立一个简单的网站作为家庭作业。它需要登录才能看到内容,但现在如果我转到myserver/welcomepage.php,我就可以看到内容。我在welcomepage中使用了以下代码:

if (!isset($_SESSION['Username'])) {
     header('Location:index.php');
     exit;
}
但是,如果有人尝试使用假登录登录,然后再次进入myserver/welcomepage.php,他可以看到内容。 我读到关于使用IP或Cookie的信息。
您有什么建议?

您正在设置登录失败时的
$\u会话['Username']
。检查处理登录的函数,仅当用户登录成功时才设置会话变量。还要确保包括
session_start()位于最顶端,并且该代码片段出现在任何html(包括
标记)之前。只有在发送任何输出之前,头才会起作用。

我建议检查身份验证流。在我看来,即使登录失败,您的应用程序也会设置
$\u会话['Username']
。是的,这是一个问题。我不确定您的意思。我的意思是会话方式是保护我的应用程序页还是很容易绕过?只要您的登录安全,会话就会保护您的页。一个系统的安全性取决于它的弱点。只需确保您的登录页面没有任何打开的漏洞,例如能够SQL注入它,并且您只将会话分配给成功登录的人。如果登录失败,不要将会话设置为用户。如果你真的想加强它一点,你可以随时限制登录,这样它就不会被强行或添加验证码。并对密码进行散列和加密,这样它们就不会作为纯文本留在数据库中。