- - PR -
JavaScriptを使用せずにリンクをSUBMITする方法
«前のページへ
1|2|3|4|5
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-02-27 14:53
# めっちゃ久々に書いてみる。
まず、JavaScriptを使わずテキストリンクでPOSTはできません。 するとGETしか方法が無くなります。 ここでGETだとパラメータが生になってしまうので セキュア的によろしくないということであれば、 パラメータを暗号化すれば済みます。 # POST にしたって、sniff すりゃ中身丸見えですし。 疑似コードを使います。 ページ生成側: <a href="target.asp?key=<%= encode(商品1コード) %>">商品1</a> 受け取り側(target.asp): rawkey = decode(getHttpParam("key")); こんだけ。あとは rawkey の正当性を検査。 encode/decode は各種汎用暗号化ルーチンを使うとよいかと。 GETを使う時に出る問題点としては、ブックマークからの直ジャンプがあります。 これはsessionなりRefererなりRedirectなりを使えば解決かな? URIの長さは、一般的な携帯端末では全部で512bytesぐらいまでは可能ですが、 ごく一部の古い端末では128bytes制限があったりします。 その辺は端末依存なのでなんとも。 | ||||
|
投稿日時: 2004-02-27 14:56
ほむらです。
-------- GOLF@スポコン氏へ
GETでも可能なように再度交渉すべき点だと思います。 GET METHODのデータをPOSTMethodのデータに変更したところで セキュリティ上大して上がったとはいえません。 そもそも、<A>はリンクを張るためのものであってデータを送るための要素ではありません。 データを送る行為そのものがイレギュラーだと思います。 POSTを送るなんて仕様はどこにもないのではないでしょうか。 言ってみればメモ帳でマシン語を書く努力をしているようなものです。 なので僕としては。。。 1.検索画面では<form>を使わしてもらい<input>でsubmit()する。 2.商品のアンカーについてはサーバー側で暗号化したデータをリンク情報として付加して PATH_INFOで送ってしまう。 Servletと違って拡張子があるからばれてしまうかもしれませんが 少なくとも簡単には正規のデータを送れなくなるはずです。 ------ BBコード失敗したので修正。 しかも、タブっている事に気が付く。 しかも、ブックマークのことは微塵も考えてなかった(笑 [ メッセージ編集済み 編集者: ほむら 編集日時 2004-02-27 15:01 ] | ||||
|
投稿日時: 2004-02-27 15:00
元の話に戻りますが、テキストリンクでJavaScriptを使わずにPOSTするということをしようとすると、実現方法をひとつ思い浮かびました。
テキストから画像を作成します。 例: <INPUT type="IMAGE" src="foo.asp?text=Product+Name"> → "Product Name" というテキストが書かれた "画像" のボタン 負荷だとか、サーバー側に画像のキャッシングだとか考えないといけませんが、 どうしてもPOSTする必要があればこれくらいしかやりようは無いでしょう。 #携帯だとPOSTで送る文字バイトにも制限があるかもしれませんが。 携帯だとかを視野に入れると、ASP.NET Mobile Control / Mobile Internet Toolkit などの使用を考えたほうが良いかもしれません。 ただし、PDA端末や、携帯でもUIの利便性やデザインフィーリングを高めようとすると、個々のページを端末用に分けることになります。 http://host/ http://host/i/ http://host/j/ こんな感じに分かれてるサイトがたくさんありますよね。 | ||||
|
投稿日時: 2004-02-29 04:16
ページ読み込み後(だか並行だかは実装依存ですが)、インラインで画像を読み込む瞬間にfoo.aspにリクエストが行くので意味ないのでは。 ここでやりたいことは、ユーザがページのどの部分を選択したかをサーバに伝えたいわけですから。 --- ひとつ思いつきました。 生コードがクライアント側に送られるのが問題なのですから、ページを生成する前に、生コードそれぞれに一対一の(ランダムな)値を仮コードとして割り付け、それをセッションにひもづけて保存、サーバは受け取った仮コードとセッション上の対応表から元コードを割り出す。 まぁ、別にランダムでなくとも、クライアントに送信する順番でもいいのですが。 問題は、受け取った側で仮対応表を破棄しないとメモリを食い続けるとか、backしてリポストした場合に対応表がobsoleteになっていて不整合が起こる可能性があるとか。 | ||||
|
投稿日時: 2004-03-01 13:44
伝わらなかったようなので、1点だけ。
> ページ読み込み後(だか並行だかは実装依存ですが)、インラインで画像を読み込む瞬間にfoo.aspにリクエストが行くので意味ないのでは。 テキストリンクにする代わりに、INPUT の画像にしましょうというのが案です。 画像を取得するだけのfoo.aspなので、ここはGETになってます。 > ここでやりたいことは、ユーザがページのどの部分を選択したかをサーバに伝えたいわけですから。 テキストのように見えるINPUT画像ができたのですから、 後はPOSTで好きなようにデータを送れますね、と。 | ||||
|
投稿日時: 2004-03-05 09:08
皆様ありがとうございました。
結局 お客さんは「JavaScriptを使用しない。」 「GETメソッドを使用する」といった仕様になりました。 それにあたっての画面修正、規制等は了承していただけましたの 開発はできそうです。 ありがとうございました。 | ||||
«前のページへ
1|2|3|4|5
