2012-06-01 67 views
1

我的网站包含基于订阅的页面,这意味着这些页面中的内容受密码保护。我想实施网站搜索,并将这些受保护的页面显示在搜索结果中,但需要登录才能查看它们。Google网站搜索受保护页面

我想什么,是创造,为每个受保护的页面,未受保护的版本,然后在这些uprotected页面做页面加载重定向到受保护的版本。

这样做的没有更好的办法?

回答

0

有一些方法,你可以做更多的方便。让我们说,你赢了完全自动使所有网页上,然后你去global.asax,在鉴权请求,如果你看到这是一个谷歌爬虫或爬行一般你自动洛他用一个简单的登录名。

必须在矿山,任何一个可以设置一个假的浏览器ID,看看你的“受保护的页面”。和代码可以是:

protected void Application_AuthenticateRequest(object sender, EventArgs e) 
{ 
    // if its crawler - or check for what else you wish for 
    if(HttpContext.Current.Request.Browser.Crawler){  
     // then log him automatically using the 'OneName' user 
     FormsAuthentication.SetAuthCookie("OneName", false);  
    } 
} 

相对: http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.setauthcookie.aspx

+0

所以,基本上你说这个代码,被保护的页面将被居然在谷歌网站搜索上市? – user560498

+0

@ user560498我说如果你使用标准的asp.net代码来保护某些区域,这段代码就会发现试图查看该页面的代码是谷歌搜索爬虫(以及任何其他爬虫)并自动将其登录,所以他可以看到页面。 – Aristos

+0

好吧,非常感谢...为了测试它,我尝试访问http://www.google.com/enterprise/search/products_gss.html并在受保护的页面中搜索文本, t显示在搜索结果中...搜索器是否需要一些时间才能为内容建立索引或者它是同步的? – user560498