2012-06-01 163 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