4

elmah.axdへのアクセスを制限する必要があります。特定のIPアドレスに基づくelvue.html。WebサイトはIIS6.0および.Net3.5上にあります。フォーム認証またはWindows認証を使用できません。httpモジュールのアプローチを使うことを考えています。 http://www.codeproject.com/Articles/16384/Using-ASP-NET-HTTP-Modules-to-restrict-access-by-I

web.configでアクセスを制限するアプローチは、IIS 7専用であるため、使用できません。http ://boseca.blogspot.com/2010/12/programmatically-addremove-ip-security.html

誰かが私がこの問題に取り組む方法についての指針を持っていますか?お知らせ下さい。

4

2 に答える 2

4

次のコードを使用してこれを実装しました。

protected void Application_BeginRequest(Object sender, EventArgs e)
        {
            var ClientSourceIP = Context.Request.Headers["CLIENT_SRC_IP"];
            var HTTPClientSourceIP = Context.Request.Headers["HTTP_CLIENT_SRC_IP"];
            var isValidClientSourceIP = ClientSourceIP == null || 
                Regex.IsMatch(ClientSourceIP, ConfigurationManager.AppSettings["ValidClientSourceIP"]);
            var isValidHTTPClientSourceIP = HTTPClientSourceIP == null || 
                Regex.IsMatch(HTTPClientSourceIP, ConfigurationManager.AppSettings["ValidHTTPClientSourceIP"]);

            if (
                (Context.Request.Path.Contains("elmah.axd") || Context.Request.Path.Contains("elvue.aspx")) &&
                ((isValidClientSourceIP && isValidHTTPClientSourceIP) == false)
            )
            {
                this.Context.Response.StatusCode = 403;
                return;
            }
        }
于 2013-02-22T23:19:46.953 に答える
0

私はIIS7でモジュール:IP制限を使用してこれを実行しました。

IIS 6でこれを行う方法のガイドは次のとおりです。http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/4117d9e2-c7e0-46db-88f6-6e804b4325b0.mspx?mfr = true

また、次のようにweb.configを変更してみましたか:http ://weblogs.asp.net/gurusarkar/archive/2008/09/29/setting-authorization-rules-for-a-particular-page-or-folder -in-web-config.aspx

于 2013-02-20T23:28:09.800 に答える