我正在创建一个简单的注册表单,我想知道是否有人可以给我一些最佳实践列表。我知道注册表单可能会有所不同,但可能会有一些指导或事项需要注意漏洞。我的数据访问层将使用Entity FrameWork和linq来处理查询。
我认为有意义的做法:
我的注册字段如下:
我也非常喜欢电子邮件激活,用户必须转到他或她的电子邮件才能激活他们的帐户。
答案 0 :(得分:2)
System.ComponentModel.DataAnnotations
namesapce
验证您的视图模型。对于电子邮件部分:
过去,我创建了一个数据库表,用于将电子邮件映射到随机生成的字符串。当您发送完整的注册电子邮件时,请提供使用该随机字符串或guid或其他内容的链接:
mydomain/completeregistration/7593098573903 whatever
现在,一旦客户端关注该链接,并且您处理该请求,请在数据库中将其注册标记为完成。 (这也应该会阻止对该URL的后续请求)
答案 1 :(得分:2)
使用客户端和 Serverside 验证。永远不要只信任客户端验证。
使用DataAnnotations和jQuery验证插件。您不需要编写客户端验证功能。当您使用HTML Helper方法呈现HTML元素时,MVC将执行此操作。
Entity Framwork将构建参数化查询。所以你不必担心SQL注入。但是如果您使用Entity框架手动执行SQL语句/存储过程,则您有责任对其进行参数化。