使用表单身份验证的网络网站,将由 Google Mini 设备抓取以进行站点搜索。GMini 有点旧,显然不支持使用表单身份验证抓取网站。据推测,Gmini 不会保留 auth cookie,或者它只是不理解登录表单。
有没有一种方法可以说服 IIS/.Net 将来自 GMini 的 IP 地址的所有请求视为已作为有权访问受保护内容的特定用户登录?
使用表单身份验证的网络网站,将由 Google Mini 设备抓取以进行站点搜索。GMini 有点旧,显然不支持使用表单身份验证抓取网站。据推测,Gmini 不会保留 auth cookie,或者它只是不理解登录表单。
有没有一种方法可以说服 IIS/.Net 将来自 GMini 的 IP 地址的所有请求视为已作为有权访问受保护内容的特定用户登录?
global.asax
你可以使用并Application_AuthenticateRequest
检查用户是否来自ips列表,你会自动登录为:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
// check that is not all ready logged in.
if(HttpContext.Current.User == null || HttpContext.Current.User.Identity == null || !HttpContext.Current.User.Identity.IsAuthenticated)
{
// check if its on your Ip List, or check if(HttpContext.Current.Browser.Crawler)
if(ListWithPassIps.Contains(HttpContext.Current.Request.UserHostAddress))
{
FormsAuthentication.SetAuthCookie("CrowlerLeftToSeethen@email.com", true);
}
}
}
可能存在的问题是爬虫没有保存 cookie,但我认为这至少记录了他的那个会话。"CrowlerLeftToSeethen@email.com"
可以是您为查看您喜欢的页面而创建的用户。
您还可以request.Browser.Crawler
通过更难找到主要搜索引擎之一的 ip 来检查它是否存在。