我维持一个农贸市场。该网站的一部分包括一个数据库,其中包含所有不同的农民以及他们本周收获的内容。
目前我有一组管理页面,因为我没有告诉任何人他们在哪里,所以隐藏在公众面前。使用管理页面,我根据需要编辑数据。随着越来越多的农民参与其中,更新他们的数据变得越来越痛苦,我想设置它,以便每个农民都可以注册,使用他们自己的密码登录并在本周编辑他们在市场上拥有的东西,而不会让我参与进来。 / p>
我看过很多用于密码保护页面的文章。我看到的那些已经设置好,一旦用户登录,他们就可以查看所有内容,并且似乎没有一种简单的方法来跟踪谁登录。
如何构建密码保护,同时跟踪谁是谁,以便我可以动态构建自定义管理页面?要记住哪些提示或最佳做法?
谢谢,
布兰登 附:我一直在使用PHP和SQLite
答案 0 :(得分:0)
确保每个用户都有唯一的登录信息(最好是电子邮件)和密码。然后创建一个包含用户名和密码的2个输入字段的表单,并在回发后,将值与数据库匹配。如果数据匹配,则将user_id(或更多用户数据)存储在会话中。
答案 1 :(得分:0)
请按照您在线找到的这些脚本。
所有归结为:
md5()
的东西,我也会使用盐键(因此类似于MD5($ password。$ salt)) - SALT可以是用户注册时的时间戳,随机字符串/数字(我建议) - 并将其保存在数据库中。$_SESSION['loggedin'] = true;
然后在每个受保护页面的顶部,您可以执行以下示例中的操作time()
)或日期时间(date("Y-m-d H:i:s")
)保存到标有last_logged_in的列下的数据库我知道这不是一堆代码,但它构成了一个基本指南,可以帮助您入门
以上示例
if($_SESSION['loggedin'] !== true){
header("Location: login.php");
exit;
} else {
// rest of protected page
}
答案 2 :(得分:0)
为了找出谁是谁,我会使用会话($ _ SESSION变量)
制作一些简单的登录页面,设置一些id或使用电子邮件作为登录,如果你想也可以制作一些注册页面。
使用随机字符串作为用户的密码,将其发送给他们并告诉他们在首次登录时更改密码。
请勿在DB中存储密码。仅使用密码哈希值(例如sha512)。如果要提高安全性,请使用一些服务器盐或用户盐。 在用户输入密码的每个登录比较哈希中,密码存储在db中。 注意SQL注入漏洞,我建议使用PDO并插入变量作为参数。
答案 3 :(得分:0)
您可以使用Basic HTTP-Auth或根据Sessions构建自己的{{3}}。在这两种情况下都很容易跟踪用户(分别是唯一名称和会话ID)。