问题
I have just stumbled upon Bad Behavior - a plugin for PHP that promises to detect spam and malicious crawlers by preventing them from accessing the site at all.
Does something similar exist for ASP.NET and ASP.NET MVC?
I am interested in blocking access to the site altogether, not in detecting spam after it was posted.
EDIT: I am interested specifically in solutions that will detect access patterns to the site - these would prevent screen scraping the site as a whole, or at least make it a very slow process for the offender because the bot would have to act as a regular user in frequency of his clicks and in patterns found in the clicks (100 links visited in depth-first succession are a clear indication that someone is crawling the site).
By malicious crawler I mean primarily bots that are building duplicate copies of other sites but also spambots that are trying to locate some submittable forms on the site and submit their crap.
回答1:
The NoBot control in the ASP.NET AJAX Toolkit might help, if I understand you correctly. From the description page:
NoBot is a control that attempts to provide CAPTCHA-like bot/spam prevention without requiring any user interaction. This approach is easier to bypass than an implementation that requires actual human intervention, but NoBot has the benefit of being completely invisible.
I haven't used this one myself, so I can't speak to its effectiveness against sophisticated bots, but it sounds like it's meant to be exactly what you're talking about. It has the benefit of being very simple; essentially a drop-in you can add to a master page.
来源:https://stackoverflow.com/questions/2667734/malicious-crawler-blocker-for-asp-net