2010-11-19 34 views
2

WCFで複雑な公開Webサービスを構築していますが、連絡先フォームに似ていますが、いくつかの機能があります。 jQueryでは、テキストボックスからデータを取得し、Ajaxとjsonを使用して、送信時に処理する文字列をWebサービスに送信します。WCF公開Webサービスのセキュリティ

今、安全にする良い方法はありますか?

サービスは一般公開されているため、誰かがこのアドレスにアクセスし、このアドレスで迷惑メールを開始する可能性があります。正しいWebサイトからのみWebサービスを使用するようにユーザーを制限できますか?

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

答えて

3

操作を実行するために、Webサービスにある種のアクセスキーが必要になることが、最も簡単な方法です。

base64でエンコードされたGUIDのような単純なものが動作します。それは変更する必要はありません。 「AccessKey」などのパラメータを追加するだけです。あなたのアプリにそれを渡し、サービスがそれが良いことを確認させる。

もう1つのアイデアは、Webサービスがhttpヘッダーをチェックして、使用を許可したページから来ているかどうかを確認することです。


いずれも完全ではありません。最初の1つは、あなたの "キー"があなたがクライアントに送るHTMLの中にあることを意味します。 2番目は偽装することができます。

個人的には、おそらくこのレベルで気にする必要はなく、サービスが行っていることを記録するだけです。サービスへのトラフィックのカウントが、それが当てはまると思われるものを超え始めると、それを緩和する方法を調査します。おそらく、それがサービスだとすれば、何の問題も見られません。

+0

完璧で、httpヘッダーで動作します!ありがとう。 –

+0

Stefan P.の答えもうまくいきました。ありがとう –

+0

GUIDを要求と共に送信し、それがSSL経由であった場合、これによりGUIDがインターセプトされないのですか? –

6

IISでWCFサービスがホストされている場合は、特定のIPアドレスからの呼び出しのみを許可できるため、IISのディレクトリセキュリティ設定を確認してください。

関連する問題