• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ローカルにあるhtmlのフォームからのデータ取得について)

ローカルにあるhtmlのフォームからのデータ取得について

このQ&Aのポイント
  • ローカルに保存しているhtmlのフォームからデータを取得する際に、サーバー上での処理を防ぐ方法を教えてください。
  • RedhatLinux7.2+apache1.3.26+php4.2.2の環境で、ローカルに置いたHTMLファイルからPOSTされたデータがサーバー側で処理されてしまう問題があります。
  • register_globalがOnになっている場合でも、$_POSTを使用してデータを取得することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

test.php で、HTTP_REFERER が http://www.hogehoge.com/~ であることを チェックして、そうじゃなければ、処理をせずに抜けちゃう、もしくは、エラーページに飛ばす。

kkk194
質問者

お礼

ありがとうございます。 やはり$_SERVER['HTTP_REFERER']をチェックする方法しかないのでしょうか。 なるべくグローバルな設定で切り抜けられないかと思ったのですが・・・。 apache側の設定で拒否する方法とかはないでしょうか?

その他の回答 (3)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.4

> apache側の設定で拒否する方法とかはないでしょうか? 試してないけど、こんな感じでできるかも。 SetEnvIf Referer www\.hogehoge\.com valid_referer <Directory /~>  Order Deny,Allow  Deny from all  Allow from env=valid_referer </Directory>

  • kagep
  • ベストアンサー率23% (171/721)
回答No.3

なるほど、そこまで深い実情だったんですね。 私も#2の方と同じ解決法を取ると思います。

  • kagep
  • ベストアンサー率23% (171/721)
回答No.1

あの・・・ 基本的にHTMLというのはローカルで動いているんです。 サーバー上にあるHTMLをHTTPでローカルに転送し、 一時領域に取り込んでブラウザで表示しているんです。 <FORM action="http://www.hogehoge.com/test.php" method="post"> とフルパスで書いてある以上、POSTが成功するのは当然です。 相対パスで記述すればOKなのではないでしょうか???

kkk194
質問者

補足

ありがとうございます。 いくら相対パスで記述していても、フォームのあるページをユーザがダウンロードしてactionのところを目的URLに変えて自分のPCなどで保存してPOSTすれば処理されてしまいますよね? それをされたくないので質問をさせていただいたのです。 あいまいな質問ですいませんでした。

関連するQ&A