在 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 中检测主要搜索引擎的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

Linq通配符搜索mvc c#

Spring MVC Web 应用程序检测暴力攻击的最佳方法?

带有控制器 MVC c# 的部分视图

如何在没有 ef 的情况下在 MVC5 中使用参数进行搜索

C# ASP.net MVC Ajax MySQL DATATABLES 列搜索无法将搜索值传递给控制器

使用 C# 在 oracle 数据库中更新多行的最佳方法