2011-06-28 7 views
2

私はサービスとして、XMLフィードをウェブサイトの所有者に提供したいと考えています。 XMLファイル自体は、Webサービス(.asmx)を介して提供されますサイトライセンス(アルゴリズム)を作成する

問題は、クライアントがXMLフィードリンクを自由に配布できることです。

だから私は "サイトライセンス"を作成すると思った。 ウェブサイト所有者 - クライアントは、XMLフィードをリクエストするウェブサイトを私に認めます。 このようにして、特定のhttp要求にXMLフィードが提供されます。

P.S.私はあなたがヘッダーなどを変更することができることを知っています...しかし、私は "物事を遅くする"と気分が良いソリューションを実装したいと思います!

より良いライセンスアルゴリズムを提供してください。 XMLフィードが自由に配布されるのを防ぐにはどうすればいいですか?

+0

独自のアプリケーションを提供できますか(小さなものでも可)か、それともウェブベースですか?また、ユーザー/パスワードのダイアログをポップアップすることもできますか? –

+0

@MourierそれはWebベースであり、ポップアップのユーザー/パスワードダイアログは禁止されています – OrElse

答えて

4

それはあなたのビジネスルールが指示するものに完全に依存します。セキュリティを強くすればするほど、個々のサイトで自分自身を認証する負担が大きくなります。クライアントサイトの方が簡単になるほど、アルゴリズムは複雑になりません。

しかし、基本的には、シート固有のトークン(パスワード)でコンテンツを保護してください。

許可された各クライアントについて、トークンを生成します。彼らの要求の一部としてそのトークンを渡すために座席が必要です。そのトークンを受け取ったら、それを検証します(適切なものとみなします)。おそらく、それが有効なトークンであるかどうかをチェックします。おそらくIPオリジネーターをチェックします。トークンはチャレンジレスポンス暗号化フェーズの一部です。

席のログインを追跡し、不正な使用(異なるIPアドレスからの要求、高いレートでの要求など)を探します。

スタートアップサービスのレベルでは、機密情報を扱っていない限り、または成功するまで、高度な知識は必要ありません。

+0

+1いいえ、答えです。シンプルな鍵認証を実装し、後で濫用を心配してください。 – Tak

2

証明書に基づいたソリューション(PKIインフラストラクチャ)を使用することができます。顧客に送信する独自​​の証明書を作成して(各顧客が独自に取得する)、ここで説明するのと同様のサーバー側ロジックを使用してチェックします。 ASP.NET WebForms : Implementing PKI Authentication。これはASMXの例ではありませんが、Httpモジュールのロジックは同じです。

利点は、ブラウザがサイトで要求された場合に証明書を提示できる必要があるため、ユーザーはパスワードを入力する必要がないことです。

もちろん、ユーザーは証明書を他のユーザーにコピーして送信することができます。たとえば、IPアドレスに基づいて監視メカニズムを必要とします(100%完全防御ではないものもあります)。証明書が死んでいるように見えると(あまりにも多くの人が使用する)、その証明書をサーバー上で有効でないものとしてマークし、正当なユーザーに新しい証明書を送信することができます。

0

私は私が撮影してきたこれを行うには、それはURLからtagsouped HTTPに基づいてXSLを処理して、私は、特定のXSLファイルと、特定のウェブページのためのサービスへのアクセスを提供したい、それに近いライセンスシステムを持っていますリファラーURLとリクエストされたxslファイルと一緒に許可されたURLと比較されます。

私が取り組んだ別のシステムでは、さらに一歩踏み出し、ストリームID(ビデオストリーミングの場合)とユーザーIDキーが送信された日として、一致した場合、ストリームは(1分のウィンドウで)開始することが許可されました。

しかし、これらの方法はいずれも、キーのパラメータの順序、片方向または両方向に送信される隠しキー、および可視/送信キー用の結果の文字列をハッシュするmd5を知ることで機能します。

関連する問題