1

サイト検索のためにGoogleMiniアプライアンスによってクロールされるフォーム認証を使用するネットWebサイト。GMiniは少し古く、フォーム認証を使用したサイトのクロールをサポートしていないようです。おそらく、Gminiは認証Cookieを保持していないか、ログインフォームを理解していないだけです。

GMiniのIPアドレスからのすべての要求を、セキュリティで保護されたコンテンツにアクセスできる特定のユーザーとして既にログインしているものとして扱うようにIIS / .Netを説得する方法はありますか?

4

1 に答える 1

1

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また、主要な検索エンジンの 1 つを見つけるのがより困難な ip によってではなく、そのかどうかを確認することもできます。

于 2013-01-09T16:44:08.397 に答える