10代と話して驚いたこと

formを使わずに
application/x-www-form-urlencoded
型のデータを送信させることってできるのでしょうか?

あるサイトで、
<form method="post" action="/xxx">
<input type="hidden" value="1" name="aaa"/>
<input type="text" value="2" name="bbb"/>
<input type="checkbox" value="3" name="ccc" />
</form>
のようなformがあったときに、
POSTで送信されているデータが、通常だと
aaa=1&bbb=2&ccc=3
となるはずのところが、
aaa=1&bbb=2&ccc=3&ddd=4
となっていました。

また、この値(ここでは4としました)は送信ごとに変動していました。

(なお、ヘッダ情報はすべてFirefoxのLiveHTTPheadersで確認しました。)

そのページ内には、hiddenや、その他のタグすべて(aやdiv)を含めて
name(およびid)がdddのものはありませんでした。
(ソースを直接確認、およびFirefoxのFire bugおよびWeb Developerで確認しました。
さらに、これらで"ddd"をページ内検索してもヒットせず、見落としはないと思います。)

また、Javascript(Javaも)をすべてOFFにし、
さらにクッキーも受けつけない・キャッシュも削除・無効化
した上で送信しても、
まったく同様に上記のdddのパラメータが送信されています。

(念のため確認したのですが、これに加えて、
Javascript適用後のHTMLであるFirebugで表示されるソースも
じっくり見ましたが、ここでも見つからなかったので、
Javascriptによるhiddenタグ描画という可能性はないと思われます。)

Javascriptやクッキーを使用せず、
かつHTMLのフォームタグも使わずに、
ユーザーにある(動的に変動する)パラメータをもつ
POST情報を送信させる方法があるのでしょうか?

抽象的で申し訳ありませんが、
何か参考になりそうなことがありましたら
どうぞよろしくお願いいたします。

A 回答 (2件)

送信に


<input type="image">
を使っていませんでしたか?

type="image"で送信するとき、クリックされた座標が追加され送信されます。
例)~~&x=4&y=10 ←クリックした画像上の位置、xやyの部分はブラウザで違ったりする。

違っていたら失礼。
    • good
    • 0
この回答へのお礼

まさにその通りでした。勉強不足としかいいようがありません。
このような(不適切に)抽象化した例で
ここまで正確に推測していただいたsteel_gray様に感謝致します。

本当にありがとうございます。

お礼日時:2008/10/15 20:12

そのdddという名前とは正確にはなんでしょう?


ほんとうにdddではないですよね?

また値はここでは4になっていますが、長さはそんなものですか?
もっとすごく長かったりしませんか?
英語や記号はふくまれていませんか?
    • good
    • 0
この回答へのお礼

ご指摘どおり、本来はdddではなくx(とy)であり、
上で回答してくださった
steel_gray様のご指摘どおり、
type=imageなinputによるパラメータでした。

まさかxとyに意味があったとは思わず、
dddと抽象化しましたが、これが不適切でした。

ありがとうございました。

お礼日時:2008/10/15 20:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報