![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Wordpressでファイルアップロード可能な掲示板を作成しており、ディレクトリにアップロードする形で実装しております。
セキュリティ対策項目の1つであるディレクトリ・トラバーサルの対策が十分なのか分かりません、ファイル名もディレクトリ名も含まないようコードを書いたのですが、必ずしも open(dirname+basename(filename)) のような形を取る必要があるのでしょうか?
※根本的解決
3-(i)-b ファイルを開く際は、固定のディレクトリを指定し、かつファイル名にディレクトリ名が含まれないようにする。
※参考サイト
https://www.ipa.go.jp/security/vuln/websecurity/ …
※該当コード
https://wandbox.org/permlink/PamBzumwjpVvhI7z
No.1ベストアンサー
- 回答日時:
例として書かれていることを鵜呑みせずに、なぜ basename を使うと対策になるかを説明書を読んで理解しましょう。
理解できれば別の方法でも対策できるはずです。
参考)
https://www.php.net/manual/ja/function.basename. …
個人的にはファイル名を「直接指定する実装を避け」て、すべて内部設計の値を使っていれば対策としては万全と思います。それができない場合の追加対策が「ファイル名にディレクトリ名が含まれない」でしょう。
余談ではありますが、
幅広くセキュリティ管理をしたいのならば、専門業者へ依頼をお勧めします
https://www.lancers.jp/menu/browse/programming_t …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- HTML・CSS HTMLを正しく表示させるには 2 2023/06/18 09:12
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- WordPress(ワードプレス) WordPressのサイトにPDFをアップロードした際にGoogleなどの検索結果に出ないでほしい 1 2022/08/03 10:44
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
-
FTPコマンドでディレクトリごと...
-
fopenでファイルが開かない場合...
-
readdir()関数について教えて下...
-
現在位置より2つ上のディレク...
-
makefile でファイルをコピーす...
-
IIS+PHP スクリプトから仮想デ...
-
glob関数で日本語文字が取得で...
-
LinuxからNASを使用したときの...
-
CFileDialogの最初のディレクト...
-
rmdirでフォルダが消せません
-
ディレクトリ内のファイル名取得
-
ファイル・ディレクトリ削除を...
-
visualstudioでc#のdllができない
-
Tcl/Tkの超初歩的な質問です。
-
C# 特殊ディレクトリを変更した...
-
includeが出来ない訳とは?
-
ファイルアップロードに関して...
-
Smartyのテンプレート置き場に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
-
バッチを用いたフォルダの自動移動
-
現在位置より2つ上のディレク...
-
fopenでファイルが開かない場合...
-
visualstudioでc#のdllができない
-
Subversionのリポジトリの削除
-
絶対パス?絶対アドレス?意味...
-
makefile でファイルをコピーす...
-
ファイル選択ダイアログで選択...
-
rmdirでフォルダが消せません
-
ファイルアップロードに関して...
-
【PHP】declare命令で”Fatal er...
-
[ ディレクトリ '.' は書き込み...
-
aspのページが表示できません
-
VB.NET 最下位のディレクトリ名...
-
glob関数で日本語文字が取得で...
-
図に示す階層構造で,現在のデ...
-
includeが出来ない訳とは?
-
環境変数をMakefile内で有効に...
おすすめ情報