3

我有一个非常简单的 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
}
?>

我不知道从哪里开始,所以我非常感谢一些帮助。提前致谢!

4

2 回答 2

2

请自己看一下PHP的这些东西:

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

$password = "password";

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

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

if 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 equals password.

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

于 2013-07-14T03:41:03.077 回答
1

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

笔记:

  • 比较散列和散列
  • 永远不要将您的纯文本密码保存在 cookie 中
  • 更安全:不要像教程那样将散列密码保存在 cookie 中。只需存储会话哈希代码并使用数据库表会话将其与用户会话映射即可。

希望能帮助到你。

于 2013-07-14T03:47:42.120 回答