• 締切済み

method=POSTしているのにGETで送信

WEBのシステムでHTML上はmethod=POSTと書いてリクエストを実行しているのに、たまにアクセスされるリクエストのログがGETで送信されるという事象が発生しました。もちろんPOSTで送信されるべき画面がGETで送信されているのでリクエストのパラメータが渡ってきていません。 ユーザが勝手にHTMLを書き換えてアクセスしているということはまず考えられないのですが、なにか原因はありすでしょうか? ちなみにIE6での利用です。

みんなの回答

  • asciiz
  • ベストアンサー率70% (6620/9383)
回答No.1

HTML書き換えは面倒ですけど、URL書くだけならすぐなので、アドレスバーに直打ちしてるんじゃないでしょうか…? そのGETのログに、Referer は付いていますでしょうか。 付いてなければやはり、Web画面からクリックしたものではなく、自分でURL編集して送信してみた、ということになる気がします。 Refererはブラウザの自己申告ですし、Webページ収集ソフト等で勝手にReferer設定してGET発行したりも考えられますから、完全に信用できるものではありませんが。

capuser
質問者

補足

ログイン処理を通過せずにアドレスバーに直打ちしても別のエラーになって対象の処理まで到達できません。またログインしたあとはアドレスバーが表示されないので直打ちはできない状況となっております。

関連するQ&A

  • postで送信できないんです

    oracle plsqlで開発しています。 htmlからpostでプロシジャーに値をわたしていますが、 パラメータが渡っていないようです。 エラーページでREQUEST METHOD=GETと表示されてしまいます。 getで送るとページが表示されるのですが・・・ formタグのmethod=postにすればREQUEST METHODには自動的にPOSTがはいると 思っていたのですが、どこかで設定しなければいけないのでしょうか。 とても困っています。 どなたか教えてください。

    • 締切済み
    • CGI
  • 1アクションでPOST・GET、両方送信したい

    1つのフォームからボタンをクリックして、 POST・GET送信と、両方飛ばすには、どうすればよいでしょうか? URLに「表示させたいパラメータ」と「表示させたくないパラメータ」 があります。 「表示させたいパラメータ」は、GETで、 「表示させたくないパラメータ」は、POST送信したいのですが、 1つのフォームで、同時に飛ばす方法が分かりません。 <form method =post action=hoge.php>  <input type=text name="piyo" value="piyo">  <input type=hidden name=puyo_id value=puyo>←これだget送信したい  <input type=submit value="送信"> </form>

    • ベストアンサー
    • PHP
  • CGI:method="post"でもGETになる

    CGIで標準入力によりフォームデータを取得できないため、環境変数%ENV内の値を 調べましたところ、入力フォーム(html)のformタグでmethod="POST"と明示しているにも 拘らず、REQUEST_METHODの値がGETになっており、POST用のCONTENT_LENGTHも GET用のQUERY_STRINGも共に空になっております。 htmlでmethod="GET"と指定した場合には、REQUEST_METHODの値は正しくGETになり QUERY_STRINGからフォームデータを取得できます。 同じCGIをPC上のApache2.4でテストした結果、REQUEST_METHODはhtmlのmethod=~で 指定した通り正しくPOSTまたはGETとなり、それぞれフォームデータを 取得できることを確認いたしております。 この点についてプロバイダに問合せいたしましたが、サポート対象外ということで、 回答を得ることができませんでした。 このような現象の原因について、お心当たりのある方がおられましたら、 ご教示いただけないでしょうか、お伺いいたします。 (1)ホスト動作環境 a.CGIサーバ:Apache b. perl 5.10系 (2)PC動作環境 a.OS: Windows 7 b.ブラウザ: Internet Eexplorer 11 c.CGIサーバ: Apache 2.4 d. Activeperl 5.20

    • 締切済み
    • CGI
  • サーブレット GETからPOST送信

    はじめまして。 JAVA初心者です。 現在、サーブレットにおいてGETメソッドで受け取ったリクエストを、POST送信で他のサーブレットにパラメータを渡してフォワードする、アプリケーションを考えています。 このような処理を行なった経験のある方、お手数ですが、方法又は参考サイトなど、ご教授いただけませんでしょうか。 ちなみに、パラメータをhiddenで持たすJSPを間に入れる方法では、上手くいくようですが、JSPなしで直接送ることはできないでしょうか。

  • IISのログに出力される「GET」と「POST」の意味

    IISのログに出力される「GET」と「POST」の意味 IISのログに出力される「GET」と「POST」はどういう意味なのでしょうか。 「GET」はサーバーからクライアントに送信した画面で 「POST」はクライアントがsubmitした画面のことなのでしょうか? aspでできているwebシステムを表示したログを解析しています。

  • ASP.NET C#でPOST受信

    WebサーバのPost受信を行う際に、 Request["parameter"] とすると、POSTを受信できますが、 GETのパラメータがあると、GETを優先して受信してしまいます。 GETのみだと、 Request["parameter"]でも Request.QueryString["parameter"]でも 受信可能です。 GETパラメータがあっても、POSTのみを受信する方法はあるのでしょうか?

  • post と get

    postとgetの両方でデータ送信が行われる可能性がある場合(あるときはpost、あるときはget)に簡単に効率よくデータを変数に入れてやる方法ってありますか? 最初は$_REQUEST を使っていたのですが、これではクッキー情報も入ってしまったため、これはやめました。そこで今は下のような方法を考えています。 if(postならば){ while(list ($key, $val) = each($_POST)) { $INPUT[$key] = $val; } } else {//getなら while(list ($key, $val) = each($_GET)) { $INPUT[$key] = $val; } } ただ、検索の仕方が下手なのか、受信した送信形式がPOSTかGETなのかということを知る方法がわかりません。 どなたかアドバイスを下さい。

    • ベストアンサー
    • PHP
  • getとpostのメソッドがごっちゃになったようなフォームの結果は、条件によって変わる?変わらない

    getとpostのメソッドがごっちゃになったようなフォームの結果は、条件によって変わる?変わらない 以下のように、getとpostのメソッドがごっちゃになったようなフォームについて質問させてください。 ==================================================================================================== <?php //なお、PHP Version 5.1.6、CentOS4.4です。 /** 以下のように、 form tagで、actionにはクエリーストリングをつけて、でもmethodとしてpostを指定した場合、 */ ?> <form action="/phpinf.php?foo=bar&fuga=hoge" method="post" name="f"> <input type="hidden" name="text_InsideFormElementWhichDeclaresExpresslyThatMethodIsPost" value="ddddd" /> <input type="submit" name="submit" value="送信" /> </form> ==================================================================================================== の結果は、 $_GETの中身(全部)は $_GET["foo"] bar $_GET["fuga"] hoge //----------------------------------------------------------- $_POSTの中身(全部)は $_POST["text_InsideFormElementWhichDeclaresExpresslyThatMethodIsPost"] ddddd $_POST["submit"] 送信 //----------------------------------------------------------- $_REQUESTの中身(全部) は、 $_REQUEST["foo"] bar $_REQUEST["fuga"] hoge $_REQUEST["text_InsideFormElementWhichDeclaresExpresslyThatMethodIsPost"] ddddd $_REQUEST["submit"] 送信 $_REQUEST["セッションidの文字列"] fdhfdshdsfhhkfdsjfdsjf //----------------------------------------------------------- また、$_SERVER から抜粋すると、 $_SERVER["REQUEST_METHOD"] POST $_SERVER["QUERY_STRING"] foo=bar&fuga=hoge $_SERVER["REQUEST_URI"] /phpinf.php?foo=bar&fuga=hoge //----------------------------------------------------------- となりました。 こういった結果は、 OS,Webサーバ,phpやperlやrubyやasp...などの言語の種類(or 素のhtml)、 また、user agent にも関係なく、 同様の結果となるのでしょうか? さらに質問ですが、こういったformの記述は、RFCやW3Cの規約に反していないのでしょうか? ご存じの方がいらっしゃしまた、お教えいただければ幸いです。 以上、よろしくお願いいたします。

  • POSTでもGETでも対応するには

    Perlでプログラムを制作していたのですが、 PHPに乗り換えようと勉強中です。 ひとつのプログラムが、POSTでもGETでも 対応できるようにする場合、 Perlであれば $ENV{'REQUEST_METHOD'}の値を調べることによって 対応可能ですが、 調べてみたところ、PHPの場合はPerlの $ENV{'REQUEST_METHOD'}に相当する変数が無いように見受けられます。 どちらでも対応可能にする場合には、 どのようにコーディングすればよいのでしょうか。

    • ベストアンサー
    • PHP
  • GETはできるがPOSTができない、、、

    PHPの勉強を始めたのですが、困ってるので教えてください。 HTMLのformタグでmethod="GET"では、PHPへデータが渡るのですが、"POST"ではデータが渡りません。 このような場合、どのような原因が考えられるのでしょうか? 環境は OS: WindowsXP(SP2 PHP: 4.3.10 Apache: 2.0.52 すべてSJISで統一しています。 よろしくお願いします。

    • 締切済み
    • PHP