2009-09-02 8 views
1

私はいくつかのドメインで使用したいWebサービスの魔法使いを持っています。しかし、私は自分のWebサービスにアクセスできるサイト(ドメイン)を制限したい。私のページ/ Webサービスを呼び出すことができるドメインを制限する方法

たとえば、サイトwww.Site-A.comのページでリクエストが実行され、www.Site-B.comからのリクエストが拒否されるようにしたいとします。

ASP.NET/IISで行う方法はありますか?

+0

あなたは、より広いDNSドメインまたはWindowsセキュリティドメインについて話していますか? – AnthonyWJones

+0

より広いDNS、 –

答えて

1

あなたの質問が正しく理解されている場合は、ドメイン外の他のページから参照される可能性のあるウェブコンテンツがあります。それらのページはブラウザに読み込まれ、それらのページの参照からのリクエストはあなたのサイトからコンテンツを取得しようとします。それはあなたのシナリオを記述していますか?

これを達成する唯一の機会は、refererヘッダー(これは正常ですが、一部のブラウザーではユーザーがそれを抑制できるようにする)を使用して要求を配信することです。その後、コード内のrefererヘッダーの内容を調べて、要求を続行するかどうかをテストできます。

あなたはこのコードでrefererを調べることができます -

var referer = new Uri(Request.ServerVariables("HTTP_REFERER")); 
if (referer.Host.ToLower() == "www.site-a.com") 
    //Allow access 

警告

この手法のみ非公式に使用することができ、誰もがそれを偽装することができますので、refererヘッダを認証する方法はありませんかなりシンプルなツールを使用しています。

+0

ありがとうアンソニー。私の必要性のために、これは助けになるでしょう。これは私があなたの答えをいくつかの問題で見て楽しんだことを伝える場所です! –

1

リモートユーザのIPアドレスを確認し、それに応じて動作することができます。リクエストのRefererヘッダーも使用できますが、これはなりすましを行うことができます。

+0

私はIPアドレスを持つことができます - しかし、問題は彼が使用しているサイトであり、ユーザIPではありません。私はそれを説明するために私の質問を編集しました。ありがとうございました! –

+0

これが当てはまる場合は、whoisプロバイダからドメインを見ることはできませんか? :) – cwap

関連する問題