2012-01-28 56 views
2

我正在寻找行业验证的方法来验证用户电子邮件是登录过程的一部分。行业标准解决方案将电子邮件验证作为登录过程的一部分?

也就是说,用户登录到一个站点(使用电子邮件和密码),如果有效,系统自动生成一个电子邮件到该地址供用户在30分钟的时间窗口内点击完成登录处理。我的语言偏好实现这将是(按优先顺序列出):Flex/ActionScript,HTML,Java或PhP。

是否有任何经过验证的例程可以“丢弃”到处理此问题的应用程序中?

+0

*(并非真正意义上的评论,但...)*每一个开源论坛都提供此功能。在Java的一面,你可以带上JForum,看看他们是如何做的。请注意,OpenID越来越普遍地认证,看到几乎每个人都有Google/Yahoo /等等。通常提供两种选择是很好的:例如SourceForge允许您生成一个帐户或者“旧的方式”(您描述的那个)或使用OpenID。 – TacticalCoder 2012-01-28 17:37:21

+0

在我的情况下,我不认为OpenID会起作用,因为我实际上需要验证用户是否是他们提供的电子邮件域名的成员。例如,如果您使用电子邮件[email protected]进行注册,则需要确保您在companyA上确实拥有有效的电子邮件地址,因为我的网站与companyA有业务关系,为他们提供某些好处等。 – ggkmath 2012-01-28 17:49:40

+0

事实上......现在说:OpenID现在适用于“Google Apps for business/domain”,您可以使用OpenID身份验证获得该人的电子邮件,但您说得对:大多数网域未使用Google Apps: - / – TacticalCoder 2012-01-28 18:10:52

回答

2

我不知道他们是否行业证明或不行,但为我工作。

两种方式:

  1. 在registeration的时候,在你的数据库中包含“用户名”,“密码(哈希)”等其它字段一起添加在列“验证”一个很长的唯一的字符串。 现在,发送一个你网站的页面链接(例如:verify.jsp)到所提到的电子邮件中,这个唯一的号码和他的电子邮件都是查询字符串。

    xyz.com?verify.jsp?str= &电子邮件=

现在,verify.jsp,检查STR和电子邮件值退出数据库。然后将它们更改为1(已验证)。

现在登录时,检查验证列是否为1。

  1. 不要让用户在注册时选择密码。发送临时密码到他们的电子邮件地址。他们只有在拥有密码时才能登录。让他们选择在第一次登录时更改密码。

我推荐第一种方法,我在很多网站上都看到过它。