2012-01-23 6 views
0

私はWCF Webサービスを持っています。このサービスへの呼び出しをアプリケーションの1ページに制限したいと思います。このページは一般公開されています。このWebサービスへの呼び出しがどこから来たのか確認する方法はありますか?私はif(ThisRequestCameFromThisPage()){goAhead();のようなものを言いたいと思います。 }WCFのWebサービスコールの発信元を検出する

ありがとうございました!

答えて

0

MAC検証と同様の操作を行うことができます。サーバーサイドでは、暗号化されたトークンをいくつか作成し、隠しフォーム要素、JavaScript変数などに埋め込みます。サーバー上でのレンダリング中は、javascriptを使用して取得できるようにページに埋め込みますWCFサービスに電話してください。トークンをコールに渡し、サーバー側で検証します。

暗号化されたトークンの内部にあるものは、クライアントのIPアドレス(REMOTE_ADDR)やトークンの有効期限を設定できる日付/時刻のようなものでなければなりません。トークンはサーバー上でのみ暗号化および復号化されるため、適切なキーを使用するとデータを安全に保つ必要があります。

0

Requestオブジェクトの参照元を確認できます。しかし、これは非常に簡単に偽装されており、信頼されるべきではありません。

関連する問題