Stop spam without captcha

后端 未结 9 1712
情深已故
情深已故 2020-12-13 14:32

I want to stop spammers from using my site. But I find CAPTCHA very annoying. I am not just talking about the \"type the text\" type, but anything that requires the user to

相关标签:
9条回答
  • 2020-12-13 15:01

    If you're looking for a .NET solution, the Ajax Control Toolkit has a control named NoBot.

    NoBot is a control that attempts to provide CAPTCHA-like bot/spam prevention without requiring any user interaction. NoBot has the benefit of being completely invisible. NoBot is probably most relevant for low-traffic sites where blog/comment spam is a problem and 100% effectiveness is not required.

    NoBot employs a few different anti-bot techniques:

    • Forcing the client's browser to perform a configurable JavaScript calculation and verifying the result as part of the postback. (Ex: the calculation may be a simple numeric one, or may also involve the DOM for added assurance that a browser is involved)
    • Enforcing a configurable delay between when a form is requested and when it can be posted back. (Ex: a human is unlikely to complete a form in less than two seconds)
    • Enforcing a configurable limit to the number of acceptable requests per IP address per unit of time. (Ex: a human is unlikely to submit the same form more than five times in one minute)

    More discussion and demonstration at this blogpost by Jacques-Louis Chereau on NoBot.

    <ajaxToolkit:NoBot
      ID="NoBot2"
      runat="server"
      OnGenerateChallengeAndResponse="CustomChallengeResponse"
      ResponseMinimumDelaySeconds="2"
      CutoffWindowSeconds="60"
      CutoffMaximumInstances="5" />
    
    0 讨论(0)
  • 2020-12-13 15:06

    I realize this is a rather old post, however, I came across an interesting solution called the "honey-pot captcha" that is easy to implement and doesn't require javascript:

    Provide a hidden text box!

    • Most spambots will gladly complete the hidden text box allowing you to politely ignore them.
    • Most of your users will never even know the difference.

    To prevent a user with a screen reader from falling into your trap simply label the text box "If you are human, leave blank" or something to that affect.

    Tada! Non-intrusive spam-blocking! Here is the article:

    http://www.campaignmonitor.com/blog/post/3817/stopping-spambots-with-two-simple-captcha-alternatives

    0 讨论(0)
  • 2020-12-13 15:10

    Integrate the Akismet API to automatically filter your users' posts.

    0 讨论(0)
提交回复
热议问题