こんにちは。
ローカルに保存しているhtmlにフォームを配置しある値を格納した後、そのデータをサーバー上にPOSTするとエラーにならずサーバー側で処理を行ってしまいます。
これをさせないようにするにはどのようにしたらよいか教えてください。
環境はRedhatLinux7.2+apache1.3.26+php4.2.2です。
例として、サーバとは違うPCのローカルに置いたHTMLファイルの内容は以下のようにします。
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<TITLE></TITLE>
</HEAD>
<BODY>
<FORM action="http://www.hogehoge.com/test.php" method="post">
<INPUT size="20" type="text" name="test">
<INPUT type="submit" name="submit" value="送信"></FORM>
</BODY>
</HTML>
そしてサーバにあるtest.phpの内容は以下のようにします。
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<TITLE></TITLE>
</HEAD>
<BODY>
<?
print $test;
?>
</BODY>
</HTML>
このローカルのhtml内のテキストボックスに何か入力して送信ボタンを押すとtest.phpでその内容が表示されてしまうのです。これを防ぐ方法を探しています。
つまり同じサイト内(http://www.hogehoge.com/にあるファイル)からのPOSTしか受け付けないようにしたいのです。
ちなみにregister_globalはOnにしてありますがOffにしても変数を$_POST["test"]にすると表示されます。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
test.php で、HTTP_REFERER が
http://www.hogehoge.com/~ であることをチェックして、そうじゃなければ、処理をせずに抜けちゃう、もしくは、エラーページに飛ばす。
ありがとうございます。
やはり$_SERVER['HTTP_REFERER']をチェックする方法しかないのでしょうか。
なるべくグローバルな設定で切り抜けられないかと思ったのですが・・・。
apache側の設定で拒否する方法とかはないでしょうか?
No.4
- 回答日時:
> apache側の設定で拒否する方法とかはないでしょうか?
試してないけど、こんな感じでできるかも。
SetEnvIf Referer www\.hogehoge\.com valid_referer
<Directory /~>
Order Deny,Allow
Deny from all
Allow from env=valid_referer
</Directory>
No.1
- 回答日時:
あの・・・
基本的にHTMLというのはローカルで動いているんです。
サーバー上にあるHTMLをHTTPでローカルに転送し、
一時領域に取り込んでブラウザで表示しているんです。
<FORM action="http://www.hogehoge.com/test.php" method="post">
とフルパスで書いてある以上、POSTが成功するのは当然です。
相対パスで記述すればOKなのではないでしょうか???
この回答への補足
ありがとうございます。
いくら相対パスで記述していても、フォームのあるページをユーザがダウンロードしてactionのところを目的URLに変えて自分のPCなどで保存してPOSTすれば処理されてしまいますよね?
それをされたくないので質問をさせていただいたのです。
あいまいな質問ですいませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
セッションを使わずに遷移先画...
-
JavaScript変数をPHPへ渡す
-
アマゾンのような評価の星を選...
-
フォーム送信後の更新ボタンで...
-
PHPでPCのローカル時刻は取得出...
-
PHPの質問:フォームから受け取...
-
送信ボタンでカウントアップ
-
phpで、フォームのラジオボタン...
-
フォームでのリセットを使う方法
-
POSTデータのNAME属性をVALUEに...
-
ラジオボタンを押すと、表示が...
-
PHPでCookieを使った訪問回数に...
-
PHPとHTML+Xamppの掲示板で画像...
-
PHPで入力フォームでデータを確...
-
PHPでユーザー情報を入力して簡...
-
エラーを元の画面に表示させるには
-
foreachがうまく動かない
-
チェックボックスの必須項目指定
-
チェックボックスがチェックさ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPでURLにジャンプするには?
-
フォーム送信後の更新ボタンで...
-
アマゾンのような評価の星を選...
-
PHPのエラーの解消法について教...
-
phpで、フォームのラジオボタン...
-
テキストリンクをPOST送信したい
-
ボタンをクリックでPHP文を実行
-
セッションを使わずに遷移先画...
-
PHPでファイルアップロード時に...
-
$_POST['hoge']のデータをフラ...
-
PHPの質問:フォームから受け取...
-
送信ボタンでカウントアップ
-
JavaScript変数をPHPへ渡す
-
リンク先のフォームに自動的に...
-
ローカルにあるhtmlのフォーム...
-
formの外にあるチェックボック...
-
フォームで作った送信ボタンが...
-
PHP 入力フォームにて半角スペ...
-
なぜ、unexpected T_VARIABLEに...
-
VBSのIEオブジェクトでフ...
おすすめ情報