Rails:检测有效的学生电子邮件地址

时间:2011-04-04 04:42:50

标签: ruby-on-rails security ruby-on-rails-3 validation

所以,在我的应用程序中,我想提供学生折扣。

我使用Devise进行身份验证,我需要确认电子邮件地址。我以为我可以在确认之后检查电子邮件是否以.edu结尾,如果是,则提供折扣。但是,我想知道这是否太简单了。是否存在"真实"的列表或数据库?那里有.edu机构,我可以检查一下吗?

我的方法是否有意义,或者你会以完全不同的方式解决这个问题吗?

思想?

4 个答案:

答案 0 :(得分:1)

只需像其他人一样向edu地址发送确认电子邮件。他们收到邮件后点击带有令牌的链接。如果它是正确的,你就会知道。

设计已经支持

答案 1 :(得分:1)

register a .edu domain,您必须eligible。这意味着在/\.edu$/的电子邮件地址中添加validator即可享受美国教育折扣。这并不意味着您只接触学生群体 - 研究机构和教育工作者也将获得折扣。

另请注意,这只会涵盖美国的教育机构。澳大利亚使用.edu.au,英国使用.ac.uk等。

答案 2 :(得分:1)

我无法使用相同的方法,因为我的生活和工作地点,学校/大学没有.edu这样的域名约定。

解决方案A:我会使用大学/学校的白名单。我最初会在该列表中添加尽可能多的大型/学校域名。 * .edu应该是其中之一(以及所有其他国家edu域名)。

当用户注册时,我会询问他/她是否是学生。如果她/他的电子邮件地址包含未知域名,我将不得不对其进行审核。 : - (

解决方案B:或者,我可能会使用复选框“我是学生”,如果选中,我会给予折扣。如果我发现折扣未被使用,我会选择解决方案A或类似的。

答案 3 :(得分:0)

您不需要列表来检查edu。如果是edu,那肯定不是垃圾邮件发送者。没有人可以获得edu域名:)除非诈骗者拥有一所学校,否则它将颁发美国教育体系认可的认证学位:P