I'm not too concerned about a single user making lots of requests. However, PingAlive was making requests every two minutes (I'm up to 18000+ after several weeks). This is what I did in src\Libraries\Nop.Core\WebHelper.cs
public virtual bool IsSearchEngine(HttpRequestBase request)
...
result = "77.73.3.96,".Contains(request.UserHostAddress); //pingalive.com
It looks like Determining Whether a Browser Accepts Cookies vs. supports them may not be so easy.