5

私はいくつかのサブドメインを持つイントラネットに取り組んでいます。私は各サブドメインを管理しているので、クロスサイトリクエストのセキュリティは問題ではありません。複数のサブドメインから重複せずに呼び出したいJSON応答を含むPHPスクリプトがあります。GETリクエストの場合、AJAXとJSONPでこれを行うことができますが、POSTリクエストでは機能しません。私が見るいくつかの選択肢、どれも非常に良いようには見えません:

  • 最小限の応答でローカルサブドメインのコピーにPOSTしてから、JSONPを使用して中央の場所から完全な応答を取得します
  • JSONを使用してローカルサブドメインのコピーにPOSTとGETの両方
  • mod_rewriteを使用して、JSONを使用したバックエンドの中央スクリプトでローカルURLを使用します
  • シンボリックリンクを使用して、JSONを使用したバックエンドの中央スクリプトでローカルURLを使用します

もっと簡単なものが欠けていますか?ここで何をしますか?

4

4 に答える 4

2

このhttps://developer.mozilla.org/En/HTTP_access_controlページを見てください。必要なものすべて - 投稿リクエストを受け入れるすべてのスクリプトにヘッダーを追加します。例:

于 2009-09-11T12:45:30.557 に答える
2

サーバー側で単純なリフレクターを作成できます。ajax リクエストを適切なドメインに渡すだけのスクリプトを各ドメインに追加します。このスクリプトは非常に単純で (1 ~ 2 行のコード)、クロス サイト スクリプティングの問題を回避でき、既存のスクリプトで複雑なビジネス ロジックを複製する必要がありません。

サーバーに余分な作業が発生しますが、問題にならない場合があります。

私が管理しているサイトで見つけた最も近いサンプル コードは次のとおりです。ここでは、HTTPS 接続 (まだサポートされていません) で Google の Chart API を使用できるようにする必要がありました。解決策は、呼び出しを渡す次のスクリプトを追加することでした...

<?php
// Set header so our output looks like a PNG
header("Content-Type: image/png");

// Reflect the image from googles chart API
echo file_get_contents('http://chart.apis.google.com/chart?'.$_SERVER['QUERY_STRING']);
?>
于 2008-10-16T07:20:29.263 に答える
0

それらがすべて同じドメインのサブドメインである場合は、次のコードをすべてのページに追加できます。

document.domain = 'domain.com';

次に、単純な xmlHttpRequest を使用します。

于 2008-10-29T05:16:38.470 に答える
0

そのような場合にRESTアプローチを使用します。REST の詳細については、google を検索してください。

于 2008-10-16T06:45:40.423 に答える