在没有数据库或用户名但使用数据库的情况下,使用php密码保护文件夹的最佳方法是什么。基本上,我有一个页面,该页面将列出组织的联系人,并且需要使用密码保护该文件夹,而无需为每个用户提供帐户。只有一个密码会经常更改并分发给该组。我知道这不是很安全,但我永远不知道如何做到这一点。最好的方式。
如果用户正确输入密码后可以记住一段时间,那就太好了。
我正在做David Heggie所建议的,除了没有cookie之外。看起来确实不安全,但是最好设置一个不好的密码保护,然后再没有密码保护。
这是针对内部站点的,人们在其中会忘记自己的登录名和密码,并且永远不会经历 注册 过程……除非真的很容易,他们根本不会使用该系统。
我想查看其他解决此问题的方法。
由于用户群不是非常精通技术的人,还有其他方法可以做到这一点。
您可以使用如下形式:
//access.php <?php //put sha1() encrypted password here - example is 'hello' $password = 'aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d'; session_start(); if (!isset($_SESSION['loggedIn'])) { $_SESSION['loggedIn'] = false; } if (isset($_POST['password'])) { if (sha1($_POST['password']) == $password) { $_SESSION['loggedIn'] = true; } else { die ('Incorrect password'); } } if (!$_SESSION['loggedIn']): ?> <html><head><title>Login</title></head> <body> <p>You need to login</p> <form method="post"> Password: <input type="password" name="password"> <br /> <input type="submit" name="submit" value="Login"> </form> </body> </html> <?php exit(); endif; ?>
然后在要保护的每个文件上,放在顶部:
<?php require('access.php'); ?> secret text
这不是一个很好的解决方案,但它可能会做您想要的
编辑
您可以添加一个logout.php页面,例如:
<?php session_start(); $_SESSION['loggedIn'] = false; ?> You have logged out