1

Web サイト A の MySQL テーブルに保存された単純なフォームがあります。

同じフォームを Web サイト B、C、D、E などに投稿できるようにする必要があります。これらの Web サイトはいずれも、Web サイト A と同じサーバーでホストされていません。フォームが更新されると、残りのフォームはWeb サイトも更新する必要があります。

データベースにクエリを実行してフォームを表示する Web サイト A にページを作成しようとしました。次に、ページを含むWebサイトBで。次のエラーが表示されます。

警告: include(): http:// ラッパーは、サーバー構成で allow_url_include=0 によって無効にされています

allow_url_include がおそらくほとんどのウェブホストでオフになっていることはわかっているので、これを回避してフォームを安全に含める方法が必要です。AJAX または Javascript を使用するソリューションはありますか? これを達成する方法についての指針を教えてください。

4

3 に答える 3

1

フォームが MySQL データベースに存在する場合、「Web サイト A に保存されている」と言うのは正確ではありません。Web サイト A にあるサーバー側のコードは、おそらくlocalhostポート 3306 の MySQL データベースに接続してフォームを取得します。

Web サイト BE からのコードは、サーバーA のポート 3306 で MySQL に接続することもできます(そのポートが開いていて、リモートで接続できる MySQL ユーザーがいる場合)。すべてのサーバーが同じプライベート ネットワーク内にある場合は、おそらく問題ありません。そうでない場合、MySQL ポートを全世界に開放することはセキュリティ リスクです。ファイアウォールを使用して、サーバー A のポート 3306 への接続をサーバー BE のみに制限できます。または、HTTP 経由で呼び出されたときに MySQL からフォームを取得し、サーバー BE から非同期的に呼び出すことができるフォーム HTML を返す単純な Web サービスをサーバー A に作成することもできます。

于 2013-01-28T00:54:41.957 に答える
0

まず、AJAX は JavaScript を使用して実行されるため、AJAX を使用する場合は JavaScript を使用することになります。

次に、フォームを直接 html に埋め込んでこれを行う方法はありません。私が提案するのは次のとおりです。

  • フォームに含めるフィールドのリストを返す Web サービスを作成します。
  • サービスから返された情報に基づいてフォームを動的に構築する js スクリプトを作成します。
  • フォームから情報を受け取る Web サービスに関数を作成するか、必要な URL にフォームを直接送信しようとします (それが機能するかどうかは覚えていません)。
  • すべてのページでそのスクリプトを使用します。

それが役に立てば幸い。

于 2013-01-28T00:54:41.560 に答える
-1

次の方法を使用できます。ここはチュートリアルを書く場所ではないため、学習する必要があります。

  1. curl/file_get_contents を使用して、サーバー側で使用する HTML を取得します。
  2. クライアント<script>側でタグを使用して、フォームをホストするサーバーからのファイルを含めます
  3. Iframeを使用する
于 2013-01-28T00:54:17.820 に答える