- - PR -
ファイルの作成について
| 投稿者 | 投稿内容 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-04-19 02:15
ブラウザの特定バージョンに拘るのがセキュリティの話より重要だという事ですか?
インターネットならそもそもリダイレクトの方法ではセキュリティ上無理があると思います。 ファイル名が上手く伝わらないのはIE5.5sp1のattachmentの件以外、どんな問題がありますか? (それはプログラムで回避出来る内容ですが) インターネットならリダイレクトはセキュリティ上問題あるし、イントラならブラウザのバージョンをIE5.5sp1以外(イントラならもはやパッチの関係上IE6以上にした方がいいと思いますが)にすれば済むのでは? インターネットに出すとして、特定のIEのバージョンのためにセキュリティを削ってまでプログラミングする意図はなんでしょう? | ||||||||||||||||
|
投稿日時: 2003-04-19 21:32
私のハンドル名から具体的に誰だか判るわけですし、いい加減なことは言っていないつもりです(間違いや誤解を生みそうなところは訂正させていただきました)。
しろうさんのおっしゃることはもっともだと思いますし別に否定はしていないんですよ。だからそこだけ突っ込んでみても何も生まれそうにありませんからこの辺で終わりにしましょう。そのかわり簡単にまとめておきました。
いいえ、どちらが重要かではなく、この話の趣旨はファイルをどう書き込むか、どう公開するかということですから、私はそこだけ言っただけです。
はいそう通りですね。リンクを辿る方法でも Referer 攻撃が出来てしまうということですよね。ですからこの件は取下げます。失礼致しました。 ちなみに私も以前作っていた Web アプリケーションでも、別の方法を使っていました(後述)。
仕様に沿わない(つまり IE に限定できない)場合もあるので、最良の方法とは思っていません。それ以外の方法もあると言っておきます。 結局やっていることは同じですが、特定のブラウザに依存したくない場合は、もうちょっと一工夫して、もともとのサーブレットの URI をそのファイル名にしておくという方法もあります。この場合はファイル名を動的に変えることが出来ないという問題がありますが、実はこれも servlet-mapping の設定次第でどうにでもなります。 (手前味噌で申し訳ないのですが)例としてはこんな感じです: 某社のソフトウェアダウンロード ということでまとめると、
でしょうか。 [ メッセージ編集済み 編集者: keisuken 編集日時 2003-04-19 21:37 ] [ メッセージ編集済み 編集者: keisuken 編集日時 2003-04-19 21:47 ] | ||||||||||||||||
|
投稿日時: 2003-04-21 02:49
これ読んで気付きました……。 私が言っていた事は今更でしたね。すみません……。 そういう事であれば今更keisukenさんにJavaの事で何も言う事は無いのですが、申し訳ありませんがあと2点だけm(_ _)m
私もこの方法を昔使っておりました。mappingを*にしてファイル名の妥当性チェック付きで動的に変更もしていました。 ですが、keisukenさんは知っているかもしれませんが、URLに日本語が含まれる(ファイル名に2バイト文字が含まれる)と今度はhttpd側で問題があるのでhttpdの種類に気をつけた方が良いかもしれません(apacheはものによってダメです)。 それと、keisukenさんが気にされているIE5.5のファイル名が認識されない問題については、keisukenさんなら知っているハズのMLでもServlet側で対応する事で簡単に解決出来る事になっていると思うのですが、どうでしょう?(^^; それとも、keisukenさんが例としてあげたもの以外に、ブラウザの問題で何か僕が忘れてるのがあるのかな……? | ||||||||||||||||
|
投稿日時: 2003-04-21 21:39
「Servlet の URI 名そのものをファイル名にしておきレスポンス(ストリーム)として返す」の亜流ですが、
「ServletのURIの後にファイル名を付け加えたものをURIとして、レスポンスでファイル内容を返す」という手もあります。 Servlet名がfooで、ファイル名がbar.txtだとすると、 「http://なんとか/servlet/foo/bar.txt」のようなURIを使用するのです。 これで、IE5.5SP1の問題も含めて、概ね上手く行くはずです。<経験あり | ||||||||||||||||
