ディレクトリトラバーサルを一般的に防ぐのは難しいかもしれませんが、ファイルを呼び出す操作の直前では、.. ../ ..\ を調べればいいような気がするのですが、違うのでしょうか?

http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%83%88%E3%83%A9%E3%83%90%E3%83%BC%E3%82%B5%E3%83%AB

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/06/17 11:49:24
  • 終了:2008/06/24 11:50:02

回答(1件)

id:ftns No.1

ftns回答回数153ベストアンサー獲得回数162008/06/17 16:31:43

ポイント60pt

そのwikipediaのページに書いてある通り、色々と検出を逃れる方法があるので単純検査では難しいのです。

なおApacheならDOCROOTより上位にあるファイルにはアクセス出来ませんので、DOCROOT以下には重要なファイル

を置かないようにすれば大丈夫です。他のweb serverも同様の機能があると思います。

http://q.hatena.ne.jp/answer

  • id:quintia
    もしかしてCGIだけを想定しているのではありませんか?
    ApacheなどWebサーバなどを忘れていませんか?
  • id:isogaya
    CGI の中での話しならばこれでいいのでしょうか?
  • id:quintia
    どこまで想定しての質問かなーと思ったのでしたが……

    「0割りのエラーを一般的に防ぐのは難しいかもしれませんが、割り算の直前で0かどうかを調べればいいような気がするのですが、違うのでしょうか?」
    とか
    「NullPointerException一般的に防ぐのは難しいかもしれませんが、メソッド呼び出しの直前でNullかどうかをを調べればいいような気がするのですが、違うのでしょうか?」
    という質問と同型だなー、というのが個人的な感想。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません