在无状态REST Web服务环境中实现验证码

时间:2009-02-16 03:50:46

标签: .net wcf client-side captcha

我正在研究的项目是一段静态HTML,其中包含一些内联JavaScript,它将调用REST Web服务,我正在使用.NET 3.5 WCF创建它。

JavaScript将从用户那里获取一些包含电子邮件地址的详细信息,然后通过Ajax将这些详细信息发送到Web服务。然后,Web服务将详细信息存储在数据库中。

由于这是一项网络服务,我很确定它是无国籍的。

但是,该项目的要求是前端JavaScript还应该执行验证码,以防止发送垃圾邮件。

该网站本身只会持续几周(最多6周),而且我认为没有足够的时间让任何潜在的攻击者认真对待该网站。

出于这个原因,我考虑制作一个完全客户端的验证码,因为传统的验证码需要有状态的会话。

但是我很想知道在无状态环境中通常会采用哪些安全措施,或者是否有人认为我对客户端验证码验证的错误是否足够。

1 个答案:

答案 0 :(得分:1)

您甚至可能不需要CAPTCHA。许多垃圾邮件客户端太笨了,无法执行Javascript之类的操作。您可以尝试在Javascript中将隐藏输入设置为某个值。

如果您的网站只用了几个星期,那么我怀疑是否有人会建立一个可以解决这个问题的客户。

那说它会在没有Javascript的情况下搞砸用户,所以我建议在Javascript删除的屏幕上放一条消息。这将具有相同的输入字段,但作为带有标签的复选框,说明他们需要检查它不被忽略。