PHP密码保护的页面cookie

时间:2013-07-14 03:34:39

标签: php password-protection

我有一个非常简单的PHP密码保护页面。我想添加一个会话cookie,以便浏览器保持记录状态(比如说7天)。

这是我目前的代码:

<?php

$password = "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8";

if (sha1($_POST['password']) == $password) {
?>

Password Protected Content

<?php

}

else {

?>
<html>
    <head>
        <title>Login Page</title>
    </head>
    <body>
        <form name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        Password: <input type="password" name="password" class="formpart" />
        <input type="submit" name="Submit" value="Login" class="login-button" />
        </form>
    </body>
</html>
<?php
}
?>

我不知道从哪里开始,所以我真的很感激一些帮助。提前谢谢!

2 个答案:

答案 0 :(得分:2)

请亲自看看PHP的这些内容:

此外,您的代码永远不会跳转到受密码保护的内容块。

$password = "password";

if (sha1($_POST['password']) == $password) {

假设你输入了正确的密码(“密码”) - 所以if会问:

if 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 equals password.

您正在使用散列,但这里不需要。

答案 1 :(得分:0)

您的要求是一种非常经典的做法。您可以在此处阅读教程:http://www.phpnerds.com/article/using-cookies-in-php/2

注意:

  • 比较哈希与哈希
  • 永远不要将明文密码保存在cookie中
  • 更安全:不要像教程一样在cookie中保存散列密码。 只需存储会话哈希代码并使用数据库表会话进行映射 它与用户的会话。

希望它有所帮助。