良好的表格安全 - 没有CAPTCHA

Chr*_*her 34 php forms security

是否有一种形式安全的好方法确实not涉及CAPTCHA?CAPTCHA太烦人了,但我需要安全性,因为我收到了垃圾邮件.我的表格是PHP.

Eri*_*lje 40

这是我发现的非常有效(并简单易懂):

  1. 在表单上放置一个隐藏字段.给它一个像"手机"或类似/普通的名称,并放入默认的垃圾值.

  2. 在表单上放置另一个常规文本输入字段,但使用CSS隐藏它.把它弄空.再次,给它一个"真正的"发声名称(first_name,phone_number,等等).

  3. 发布表单时,请验证隐藏字段是否仍具有默认值,并且您使用CSS隐藏的字段仍为空.

您基本上利用了这样一个事实,即大多数垃圾邮件机器人只会填写表单中的每个字段,以避免任何必要的字段验证检查失败.有些人可能足够聪明,可以忽略隐藏的字段,但我从未见过一个足够聪明的人忽略用CSS隐藏的字段.

ETA: 解决一些意见 - 这是一个真正"安全"的系统吗?不,肯定不是.任何想要专门针对您网站的人都会轻易打破它.也就是说,对于大多数"低价值"网站所看到的自动形式垃圾邮件机器人来说,它仍然非常有效.

如果你想阻止一个坚定的攻击者,你需要更具侵略性的东西.另一张海报提到了Akismet,这是一个不错的选择.Re-Captcha将是另一个.阻止坚定的,有针对性的垃圾邮件发送者很难.即使雅虎谷歌也很难.

  • @Gareth,如果它的人做垃圾邮件,验证码也不会阻止他们. (10认同)
  • @The Rook:如果有人真的决定打破它,系统只需要片刻就可以打破.如果这是形式垃圾邮件,它只是分散到它可以找到的任何网站,它可能会被这个挫败,至少在一段时间内.如果有人看到该网站并认为"我想要发送这个垃圾邮件",这种方法就没用了. (3认同)
  • 这是我发现的最佳解决方案,但它不能防止"机械土耳其人"垃圾邮件,人们在博客文章上发布的每条消息都会收到几美分 (2认同)
  • @The Rook:默默无闻的安全本身并不坏.它可以是一个有用的层,可以为攻击添加更多的工作,对于低价值的应用程序,它可能就是所需要的.有什么不对的是,它的效果很容易被高估,特别是无能的. (2认同)

Joh*_*nde 16

试试akismet.它很擅长标记垃圾邮件.该API易于使用,对用户完全透明.


mač*_*ček 12

这种验证器可爱又快捷!

CAT BOX http://i39.tinypic.com/157ln4.gif

显然,您需要显示许多可能的动物图像中的一个,并且列表也应该随机化.

我知道它只能在X%的时间内工作,但在列表中添加更多选项将有助于减少垃圾邮件.

  • 这是验证码. (10认同)
  • @The Rook,不是在拔毛,在你的计算机上大喊大叫,所有的旋风混乱的字母感. (7认同)