プロが教えるわが家の防犯対策術!

Wordpressでファイルアップロード可能な掲示板を作成しており、ディレクトリにアップロードする形で実装しております。
セキュリティ対策項目の1つであるディレクトリ・トラバーサルの対策が十分なのか分かりません、ファイル名もディレクトリ名も含まないようコードを書いたのですが、必ずしも open(dirname+basename(filename)) のような形を取る必要があるのでしょうか?
           
※根本的解決          
3-(i)-b ファイルを開く際は、固定のディレクトリを指定し、かつファイル名にディレクトリ名が含まれないようにする。

※参考サイト
https://www.ipa.go.jp/security/vuln/websecurity/ …

※該当コード
https://wandbox.org/permlink/PamBzumwjpVvhI7z

A 回答 (1件)

例として書かれていることを鵜呑みせずに、なぜ basename を使うと対策になるかを説明書を読んで理解しましょう。


理解できれば別の方法でも対策できるはずです。
参考)
https://www.php.net/manual/ja/function.basename. …

個人的にはファイル名を「直接指定する実装を避け」て、すべて内部設計の値を使っていれば対策としては万全と思います。それができない場合の追加対策が「ファイル名にディレクトリ名が含まれない」でしょう。

余談ではありますが、

幅広くセキュリティ管理をしたいのならば、専門業者へ依頼をお勧めします
https://www.lancers.jp/menu/browse/programming_t …
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A