10

これが私の問題です。2 つの Web サイト間で通信したいのですが、クリーンな解決策を探しています。現在のソリューションでは Javascript を使用していますが、(理解できる) クロスサイト スクリプティングの制限のため、厄介な回避策があります。

現在、Web サイト Aは、 jqModalというjQueryプラグインを使用して、Web サイト Bを含むモーダル ウィンドウを開きます。Web サイト Bは何らかの作業を行い、いくつかの結果をWeb サイト Aに返します。その情報を返すには、クロスサイト スクリプティングの制限を回避する必要があります。Webサイト Bは、 Web サイト Aのページを参照する iframe を作成し、返される情報を含む *fragment identifiers を含みます。iframe はWeb サイト Aによってポーリングされ、検出されます。返された情報. これは一般的な手法ですが、ハッキーです.

CrossSiteなどのバリエーションがあり、おそらくWeb サイト BからWeb サイト Aへの HTTP POST を使用できますが、ページの更新を避けようとしています。

誰かに代替手段はありますか?

編集: Web サイト Bで状態を保存する必要がないようにしたいと思います。

4

4 に答える 4

5

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

これにより、あるサイトが別のサイトのウィンドウを開くというスキームに固有のハッキングを回避できます。

于 2008-08-28T19:02:25.580 に答える
3

1.2 より新しい jQuery では、 JSONPを使用できます

于 2008-08-28T19:01:09.920 に答える
0

@pat がこれを参照していたと思います

「jQuery 1.2 以降、JSONP コールバックを指定すると、別のドメインにある JSON データをロードできます」 http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback

于 2008-08-28T22:59:52.467 に答える
0

@jmein - モーダル ポップアップを作成する方法を説明しましたが (これはまさに jqModal が行うことです)、モーダル ウィンドウのコンテンツが別のドメインから提供されることを見逃していました。関連する 2 つのドメインは 2 つの別個の会社に属しているため、説明した方法で結合することはできません。

于 2008-08-28T21:27:41.253 に答える