2008-08-28 8 views
8

は私の問題だ - 私は2つのウェブサイトと私はきれいな解決策を探している間で通信したいと思います。現在のソリューションではJavascriptを使用していますが、クロスサイトスクリプティングの制限があるため(わかりやすい)回避策があります。(?Javascriptを使用してか)のウェブサイト間の通信

瞬間、ウェブサイトAjQueryプラグインを使用してウェブサイトのBを含むモーダルウィンドウがjqModal呼ば開きます。 ウェブサイトBはいくつかの結果を返し、いくつかの結果をウェブサイトAに返します。その情報を返すために、クロスサイトスクリプティングの制限を回避する必要があります。ウェブサイトBウェブサイトAのページを参照するiframeが作成され、返される情報を含む*フラグメント識別子が含まれています。 ウェブサイトAは、それはcommon techniqueです。返された情報を検出するが、それはハックです。

ありCrossSiteような変化があると私はおそらくウェブサイトウェブサイトBからのHTTP POSTを使用することができますが、私はしようとしていますページの更新を避けるためです。

他に誰かがいますか?

編集:ウェブサイトBに状態を保存する必要はありません。

答えて

5

が私の最高の提案は他に渡されるために必要な情報を呼び出すことができ、各サイト上のWebサービスを作成することです使用することができます。セキュリティが必要な場合は、2つのサーバーだけがそれぞれのWebサービスと通信できるように、このシステムにSSLのような認証スキーム(または必要に応じて実際のSSL)を追加するのは簡単です。

これは、あなたが他の上の窓を開け一方のサイトが関与する任意のスキームに固有のだhackinessを避けましょうだろう。

3

jQueryのより新しい1.2を使用すると、JSONP

0

@jmein - あなたはモーダルウィンドウの内容を別のドメインから提供されていることを見逃しているが(jqModalはまったく同じものです)モーダルポップアップを作成する方法を説明しました。関係する2つのドメインは2つの別々の会社に属しているので、あなたが記述する方法で組み合わせることはできません。

0

私は@patこの

に参照のうえたと信じて http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback

を「jQueryの1.2の時点で、あなたは、あなたがJSONPコールバックを指定した場合、別のドメイン上にあるJSONデータをロードすることができます」