0

新しい ASP.NET Web サイトを作成しました。私はVisual Studioで編集しています(Webサイトを開き、FTP経由で)。自分の IP アドレス以外の Web サイトを閲覧できないようにしたい。

PHP では、次のように .htaccess で実行していました。

RewriteEngine On
RewriteBase /

RewriteCond %{REMOTE_ADDR} !^XX\.XXX\.XXX\.XX$ //my IP

RewriteCond %{REQUEST_URI} !^/construct

RewriteRule (.*) /construct/index.php [R=307,L] //redirect when other IP access website

ASP.NET では、この解決策しか見つかりませんでした (Web.config 内):

<?xml version="1.0"?>
<configuration>
    <system.web>
      <customErrors mode="Off"/>
    </system.web>
  <system.webServer>
    <security>
      <ipSecurity allowUnlisted="false">
        <clear/>
        <add ipAddress="XXX.XXX.X.X" allowed="true"/>
      </ipSecurity>
    </security>
  </system.webServer>
</configuration>

しかし、これは私にはうまくいきません。これを書いた後にページに入ると、次のエラーが表示されます。

リクエストの処理中にエラーが発生しました。サーバーは、表示できる Web サイトを返しませんでした。問題の考えられる原因は、この Web ページを生成するスクリプトにあります。

問題は何ですか、またはこれを他にどのように解決できますか?

4

1 に答える 1

2

これを試して、1つの文字列変数を保存してください

string ip=HttpContext.Current.Request.UserHostAddress.ToString(); 
or 
string ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
or
string ip=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();

//その後、IP アドレスが一致したことを確認します。true の場合、コードへのアクセスが許可されます

if(ip=="xxx.xxx.xx.x")//Your IP address 
{
//your code is here 

}
于 2013-09-29T17:01:18.343 に答える