我试图不在我的asp.net页面上为机器人做一些会话初始化例程。因此,我正在考虑如下测试:
bool IsBot = !(UserAgent.StartsWith("Mozilla") || UserAgent.Contains("Opera"));
够了吗?还有其他建议吗?它会在99%的情况下正常运作吗?
答案 0 :(得分:1)
好的,根据我的研究,我认为以下内容就足够了:
Private _Bots As String() = New String() {"bot", "slurp", "crawl", "spider", "sleuth", "http://", "https://"}
Public Function IsBot(aRequest As HttpRequest) As Boolean
If aRequest.Browser.Crawler Then Return True
Dim _ua As String = aRequest.UserAgent.ToLower
If Not (_ua.Contains("mozilla") OrElse _ua.Contains("opera")) Then Return True
For i = 0 To _Bots.Length - 1
If _ua.Contains(_Bots(i)) Then Return True
Next
Return False
End Function