使用javascript +机器人进行表单身份验证

时间:2011-09-12 13:22:30

标签: php javascript forms authentication

我正在使用仅使用Javascript 进行字段身份验证的表单。我需要介绍垃圾邮件过滤器。我的问题是。

  1. 我应该引入服务器端脚本来解决垃圾邮件问题(更多工作)
  2. 如果禁用了JavaScript,则禁止用户提交表单?
  3. 为已禁用Javascript(例如机器人)
  4. 的人制作单独的表单

    问题出现是因为垃圾邮件。作为一个附带问题。 机器人是如何工作的?他们只是禁用JavaScript 。这是一个蹩脚的问题。

    表单的编码方式非常不正统,这意味着PHP脚本的代码更改将相当大,相当于设计新页面。

    提前致谢。

3 个答案:

答案 0 :(得分:1)

大多数机器人最好根据name属性猜测要在表单字段中插入的值。例如, email-esque 值将插入<input type="text" name="email"/>,而伟哥的广告将插入<textarea name="body" />

虽然阻止禁用JavaScript的用户会停止某些(大多数?)垃圾邮件,但您也可能会遇到阻止 真实 的风险用户无法使用您的网站;你想冒这个风险吗?

防止垃圾邮件最常见的方法是要求用户完成验证码;给他们一个难以破译的图像并要求他们写下这个词。许多网站都使用reCaptcha,但我只会在表单中包含reCaptcha作为最后的手段。

我最喜欢的防止垃圾邮件的方法之一是在表单(type="hidden)中插入虚假,隐藏的输入字段,并为其指定emailwebsite等名称普通用户不会为这些字段输入任何值,因为它们是隐藏的,但垃圾邮件机器人可能

答案 1 :(得分:0)

您可以使用验证码,但这不会改善用户体验。

我喜欢使用的一个技巧是添加一个类似电子邮件的字段名称,然后使用css隐藏它,如果值仍为空,则检查服务器端。

答案 2 :(得分:0)

  

我是否应该引入服务器端脚本来解决垃圾邮件问题(更多工作)

  

如果禁用了JavaScript,则禁止用户提交表单?

你做不到。 (你可以放一些块,这会使他们提交它不方便,但是你无法控制人们发送给你服务器的数据。)

  

为已禁用Javascript的人(例如机器人)制作单独的表格

没有。 Build on things that work

  

机器人是如何工作的?

他们发出HTTP请求并处理响应。

  

他们只是禁用JavaScript。

它们通常在首先不支持JavaScript的引擎上运行。

  

表单的编码方式非常不正统,这意味着PHP脚本的代码更改将相当大,相当于设计新页面。

听起来它在维护地狱,需要重构,以便将来可能需要进行任何更改或调试。

相关问题