2009-07-14 4 views
4

HTTP Refererは私が現時点でやっている方法です。このメソッドを使用しているすべての人は、Refererヘッダーはオプションで、おそらくは手抜きされているので、100%正確ではないことがわかっています。httpリクエストが特定の場所から発信されるようにするにはどうすればよいですか?

how-to-ensure-access-to-my-web-service-from-my-code-only私はまだ最小限の方法でこれについてどうやって行くのかはまだ分かりません。

状況:誰か他の人のサイトに

広告。 iFrameを使用するので、自由にコンテンツや機能を変更できます。私はアクションが完了するたびに$ x.xxを支払う。したがって、私は、アクションが完了することが許可されていると言ったところからアクションが完了していることを確認する必要があります。私は予防しようとしている何

行くに沿って来て、いくつかの他のウェブマスター - 「ちょっとそれは便利なツールですが、私は自分のサイト上でそれを入れてみましょう」 だから私は何を、上部に言ったように私はatmですが、リファラーが一致しない場合は、私は同じツールを持っているページにリダイレクトしますが、そのページで実行されたアクションがあれば、私にはお金がかかりません。上記のを防ぐためにしようとしますが

、次を許可:

私は「完全な行為」のために現金を払ってるウェブマスター/サイト所有者が他のサイトにコードを置く場合、私は気にしません - 明らかにこれは良いことです。より多くのカバレッジ、サイトの所有者はより多くの現金を得ます&私はより多くの現金を生成する、より多くのアクションを完了します。

質問

私はいくつかのランダムとしていない契約を結んでいる他の当事者からです私は自分のWebページに入ってくるすべての要求を知ってそうする他の当事者が何を得ることができます。

感謝:)アプリ再

情報

他の当事者のウェブサイトは、iFrameを持っています。 iFrameは自分のドメインの1つにある私のhtml/js/phpページを表示します。このページでは、ajaxリクエストを使用して、実際のWebサービス(Ruby/sinatraアプリ)と対話します。私は他の当事者のウェブサイトの見た目にフィットする多くの異なるページを持っています。


だから私は、他の当事者サーバ間のおしゃべりのいくつかの並べ替えを考えていると私のサーバーが良いでしょう。そして、このチャッターの結果は、iFrameリクエスト中に何とか表示されます。

しかし、他の当事者がiFrameで提供されているドメインのCookieを設定できるかどうかはわかりません。実際、私はそれができないと確信しています。

この制限を回避するため、Cookieを設定できるページにiFrameの一部としてスクリプトを含めることができました。要約

[OK]を上記のアイデア:

  • OtherPartyサーバーの応答を取得する私のサーバーにリクエストを送信します。
  • <スクリプトSRC = "...?PARAM" 私のスクリプトは、スクリプトとして
  • がiFrameの前にあるクッキーを設定>
  • > < /スクリプト、スクリプトへのparamとしてその応答にページをレンダリングクッキーは前に設定されているドメインのクッキーに設定されているように、ページの最初の
  • iFrameの負荷をロードされている
  • ビンゴ
  • にも送信され、要求が
を合法的に検証しました

これはいいですか?私は、JSはとても有効になっている場合のみに完了したアクション作品たい

ところで、私のツールは...

答えて

3

あなたが本当にあなたのiframeをロードできるユーザーを確保したい場合は、これを行うには、その後一つの方法は、2本足経由でOAuth(つまり、信頼できるパートナーにiframe GETリクエストに「署名」してもらいます)。次に、サーバーは、暗号的に有効な署名と既知の署名者に基づいてアクセスを許可できます。あなたは、署名された要求に対して比較的短い有効期間を強制して、誰かがそれらをコピーして自分のサイトに埋め込むのを防ぐことができます。

これはまた、iframe挿入に先立ってパートナーが余分なサーバーリクエストを行うことなく、最初のオフラインキー交換を行うだけの利点を提供します。

+0

この情報に感謝します。 – SoreGums

関連する問題