使用一次只能从一台计算机分配的密码登录我的网站

时间:2011-01-07 03:30:59

标签: passwords

如果我有一个网站mysite.com/camera,我有用户通过他们的电子邮件地址订阅,我分配了一个8位数字(数字/字母更低的cse)密码。我需要在哪些页面上使用什么代码,以便登录检查其是否有效,然后检查该组合是否已在使用

用户名密码列表将保存在另一个页面上,该页面需要在用户登录时检查其有效性。

我想设置它,以便如果客户分享他的用户名/密码,一次只能有一个朋友可以查看。

目前没有使用登录,现在它是一个公共页面。

1 个答案:

答案 0 :(得分:1)

您说用户名密码列表保存在另一页上。您应该使用mysql等数据库来存储用户名/密码列表。创建一个包含userId,email,password,key字段的表 - 其中userId是一个标识字段,key是一个guid。

当用户注册时,在数据库中创建一个新条目,其中包含电子邮件字段中的电子邮件,密码字段中的密码以及密钥guid默认为null或某些初始guid值,如果您不想允许可空字段。

当用户成功登录(验证数据库表的电子邮件/密码)时,创建一个新的guid,使用该guid更新用户的密钥字段,并为具有guid值的用户删除cookie。在网站上需要登录的每个页面上,首先从cookie中检索用户的guid并查询数据库以确保存在具有该guid值的条目。如果没有条目,则使cookie过期并将用户注销。

将会发生的事情是,尝试登录的用户的朋友将生成新的guid并实际上“窃取”登录信息。初始用户将不再拥有有效的guid cookie,并且在他们尝试访问页面时将被注销。