1

サイトAを運営していて、別のサブドメインでホストされているサイトBにデータをPOSTできるようにしたい。これでAに完全にアクセスできましたが、Bをまったく変更できません。

私の要件は次のとおりです。

  • ファイルのアップロードをサポート
  • POST時にブラウザを更新しません
  • Windows統合セキュリティを使用
  • IE 7/8で動作します(他のブラウザをサポートする必要はありません)

これを達成するための最良の方法は何ですか?

私が試したこと:

理想的には、これは単純なAJAX呼び出しで実行できます。ただし、現在の標準はバイナリデータの送信をサポートしていません(IEではまだ実装されていないXMLHttpRequestレベル2標準でサポートされています)。

したがって、次善の策は、非表示の<iframe>要素にPOSTすることです。これを試しましたが、サイトBのサーバーはデータを受け入れません。リクエストを確認しましたが、見つかった唯一の不一致はリファラーURLと統合認証でした。リファラーURLをスプーフィングする必要がある場合がありますが、これはこの方法では実行できません。また、何らかの理由で認証がネゴシエートされていません。理由は100%わかりません。

アイデア:

私が実行しているサーバー(サイトA)に、リクエストをサイトBに転送するプロキシページを作成することを考えています。サイトAも統合セキュリティを使用しています。これには何の問題もありませんが、これが最善の方法かどうかはわかりません。リクエストを転送するだけで認証の問題は発生しますか?

4

1 に答える 1

2

あなたのケースで機能するのはプロキシを使用することだけのようです。getリクエストを作成する場合はJSONP、サーバーがをサポートしていれば、を使用してリクエストを実行できますJSONP。ハッキングを機能させるには<iframe>、サーバーはヘッダーを次のように送信する必要があります

Access-Control-Allow-Origin:* 

それはあなたには当てはまりません。したがって、プロキシを使用することが解決策のようです

于 2011-08-04T02:10:11.653 に答える