質問

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

現時点で、 ウェブサイトA モーダルウィンドウが開きます。 ウェブサイトB を使って jQuery というプラグイン jqモーダル. ウェブサイトB 何らかの作業を行い、結果を返します ウェブサイトA. 。その情報を返すには、クロスサイト スクリプティングの制限を回避する必要があります。 ウェブサイトB のページを参照する iframe を作成します ウェブサイトA 返される情報を含む「*フラグメント識別子」が含まれます。iframe は次によってポーリングされます。 ウェブサイトA 返された情報を検出します。それは 一般的なテクニック しかし、それはハックです。

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

誰か代替手段がある人はいますか?

編集:状態を保存する必要がないようにしたい ウェブサイトB.

役に立ちましたか?

解決

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

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

他のヒント

1.2 より新しい jQuery では、次のことができます JSONP

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

@pat がこれについて言及していたと思います

"jQuery 1.2 以降、JSONP コールバックを指定すると、別のドメインにある JSON データを読み込むことができます。"http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top