1

我知道你们会告诉我我不能告诉我的。这就是我在这里的原因。

基本上我需要为我创建的任何网站设置反垃圾邮件机器人机制。问题是有时它们太复杂了,或者考虑到有些网站已经完成,有些需要严格的截止日期,我没有时间把它放在网站上。我一直在思考这些垃圾邮件发送者如何以这种方式攻击您的网站。由于大多数反垃圾邮件(reCaptcha、akismet 等)使用相同的原则来避免垃圾邮件,它们使用某种随机图像(带有单词),人们可以根据他们认为正确的单词来猜测单词。现在,我不能只创建一个人们可以输入的随机单词(基于给定的问题)。比如说,在反垃圾邮件领域我有一个简单的问题:“太阳系中的第六颗行星是什么?”,注册人回答“土星”,他得到了正确的答案,

只是想...

提前致谢!

4

3 回答 3

1

ASP.Net 有很多免费验证码控件

我会坚持其中之一,并为自己节省一些编码。

就问题的想法而言:它可以根据您实现它的方式工作,但如果做错了,简单的字典攻击就会打败它。它永远不会那么安全,因为据推测问题的文本会为潜在的机器人攻击者提供某种线索。这是假设人们正在编写专门用于攻击您的机器人,如果他们是,那么您可能无论如何都被搞砸了。;) 哈哈。

对 reCAPTCHA 的评论

同样作为记录,虽然 reCAPTCHA 在纸上听起来像是一种有趣、自由的想法,但我倾向于不同意它的做法。IMO,它的使用进入了一些疯狂的知识产权灰色地带,这些灰色地带可能会令人沮丧,有时甚至会阻止那些为我们带来我们喜欢的书籍的创造性思维。

于 2009-12-01T22:33:38.603 回答
1

实现你自己的问题通常不是你想出的想法(尽管在你的情况下它已经很微不足道了)它是它的实际实现,几乎可以肯定你会以某种小方式出错。

因此,最好(更快、更容易)使用 reCAPTCHA(如果它能让你的船漂浮)。

问题是,如果您实施自定义系统,想要寻找通用实施并解决它们的“一般”垃圾邮件发送者会发现很难,但一旦您成为目标,一切就结束了。

于 2009-12-01T22:33:57.947 回答
0

如果您不是 Google 或 Hotmail,则不会有任何问题。

如果您的网站不太可能成为实际设计一些自定义代码的垃圾邮件发送者的目标,那么避免它们应该很容易。

我要么有一些 Javascript 填充的字段——这很好,除非你希望人们能够在没有 Javascript 的情况下合法地填写表格,或者我最喜欢的字段需要留空。

垃圾邮件发送者似乎很少将字段留空,尤其是当它们被称为“电子邮件”或“州”或“国家”等时。垃圾邮件机器人无法抗拒将一些垃圾放在那里。

将其中的一些放入(理想情况下放在一个带有 display:none 的 div 中)将捕获其中的大部分。

然后您通常可以找出什么是垃圾邮件发送者,因为他在评论字段中添加了无数链接:)

于 2009-12-01T22:47:32.823 回答