Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

Strutでのパラメータ持ち方について

お世話になっております。

Tomcat6
Java 1.6
Struts 1.3.10
Eclipse3.4

以上の環境で開発してます。
ファイルのダウンロードをしようと思い、
以下のようなコードを書きました。
<logic:itarate id="testitem" name="testForm" property="testlist" indexId="idx">
  <tr>
    <td><html:link action="/testfile" paramId="test_i" paramName="testitem" paramProperty="num" target="_blank">ファイル出力</html:link></td>
  </tr>
</logic:iterate>

この場合出力結果はこんな感じになります。
<tr>
    <td><a href="/testfile.do?test_i=num(ファイル番号)" target="_blank">ファイル出力</a></td>
</tr>
以下個数分繰り返し

testfile.do側では引数の番号からあらかじめセッションに格納したダウンロード可能ファイルのリストのどれかを特定してダウンロード処理します。

ありがちな処理だと思いますが、引数が数値だけなのはセキュリティ的にまずいだろうだと思い、
せめてファイル番号くらいでもセッションか何かに入れて管理したいのですが、
ファイル数も可変だしうまい方法が思いつきません。
JavaScriptを使ってhiddenパラメータにセットして渡すくらいなら出来るのかもしれませんが…。
もしくは引数を数値じゃなく類推しにくい文字列にするとかでしょうか。

このような場合、皆様はどのように実装されていますか?
もし参考になるようなサイトなどあれば教えていただければありがたいです。

よろしくお願いします。

1

回答

4264

閲覧

1件の回答

評価

0

> セキュリティ的にまずいだろうだと思い
との事ですが、状況により必要なセキュリティ対策は変わってくると思われま
すので、必要に応じて対応すべきかと思います。

まず、セキュリティ対策をしたい理由や目的を明確にした方が良いかもしれません。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。