在 C# MVC 中检测主要搜索引擎的最佳方法
Posted
技术标签:
【中文标题】在 C# MVC 中检测主要搜索引擎的最佳方法【英文标题】:Best way to detect major search engines in C# MVC 【发布时间】:2012-01-10 21:04:12 【问题描述】:我发现了以下问题,但如果可能的话,我不想进行会影响服务器上所有站点的更改。 HttpBrowserCapabilities.Crawler property .NET
我还找到了有关使用 browserCaps 元素 http://msdn.microsoft.com/en-us/library/sk9az15a.aspx 的说明,但它似乎已被弃用。
在 Asp.net 4.0 中检测主要搜索引擎的最简单方法是什么?
(我只对能够检测主要搜索引擎真正感兴趣)
【问题讨论】:
你要爬虫还是referrer? @DanielA.White 我有一个带有年龄验证屏幕的网站,合法地必须向用户展示,但如果我没有正确检测到搜索引擎,这将被编入索引,所以我需要能够检测搜索引擎 不是 MVC,而是您的一个选项:***.com/questions/544450/… 【参考方案1】:就像在普通的 ASP.Net 站点中一样。
if( Request.Browser.Crawler )
您可以添加一个 httpmodule 来对所有请求进行检测。
【讨论】:
是的,我确实尝试过,但未检测到谷歌,我在问题中包含的链接建议更新浏览器列表,但该解决方案似乎已被弃用,因为它在 3 年前被问到【参考方案2】:结帐Browser Caps here
或者
获取HttpRequest.UserAgent
并对照list of know user agents 进行检查。
【讨论】:
他似乎不想隐藏搜索引擎的内容;他想明确地向他们显示内容,而普通用户实际上无法在验证他们的年龄之前看到该内容。因此,robots.txt 不会有帮助。该搜索引擎 IP 列表也不会;你永远不应该尝试使用如此脆弱的东西,IMO。 @AndrewBarber:你说得对,我误读了他的评论(好吧,我解释错了)。答案已调整。以上是关于在 C# MVC 中检测主要搜索引擎的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章
Spring MVC Web 应用程序检测暴力攻击的最佳方法?