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も見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
Javaって使いますか、もう古いですか?C++とどっちがいいですか?分析でC++使う授業ありましたけ
C言語・C++・C#
-
C言語について。
C言語・C++・C#
-
C言語について。
C言語・C++・C#
-
-
4
PHP8を使うと、大量のWarningが発生してしまいます。
PHP
-
5
アマゾンのような評価の星を選択した情報を確認画面でも表示させたいです。
PHP
-
6
C言語 バッファについて。
C言語・C++・C#
-
7
C言語です
C言語・C++・C#
-
8
写真のプログラムは、1からnまでの、全整数の積すなわち階乗値を求めて返却する関数を作成したいのですが
C言語・C++・C#
-
9
C言語関数違いについて。
C言語・C++・C#
-
10
C言語 バッファについて。
C言語・C++・C#
-
11
C言語について。
C言語・C++・C#
-
12
C言語について。
C言語・C++・C#
-
13
C言語って古いですか?
C言語・C++・C#
-
14
VisualStudioでのプログラミングにおススメのデータベース
C言語・C++・C#
-
15
これの対応OSを教えて下さい。php-8.3.0-src.zip
PHP
-
16
VisualStudio2022でC言語プログラムで全角文字を使用すると不明なエラーが表示される
C言語・C++・C#
-
17
入力フォームの空白や改行を制限したい
PHP
-
18
プログラムの素朴な質問です 分岐するコードを書く時に、 /** * 関数 */ sub(){ ...
その他(プログラミング・Web制作)
-
19
オススメのプログラミングスクールあればお聞きしたいです。 ・PHPを学べる ・ポートフォリオ作成でき
PHP
-
20
C言語の関数と配列に関する質問
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチを用いたフォルダの自動移動
-
ファイルアップロードに関して...
-
Subversionのリポジトリの削除
-
exec()で他ディレクトリのexeプ...
-
ファイルの更新日時でのソート
-
SSH2で対象ホストのディレクト...
-
絶対パス?絶対アドレス?意味...
-
ファイル選択ダイアログで選択...
-
makefile でファイルをコピーす...
-
URLに特定の文字を含む場合の条...
-
VC++ Win32アプリ ディレクトリ...
-
DLL のロードの順序
-
HOSTSファイルについて
-
PHPのプログラムの保存場所
-
/usr/local/lib/phpとはどうい...
-
現在位置より2つ上のディレク...
-
FTPコマンドでディレクトリごと...
-
mingwにパスを通せたのですが、...
-
glob関数で日本語文字が取得で...
-
onedrive にexcelファイルをア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
バッチを用いたフォルダの自動移動
-
CFileDialogの最初のディレクト...
-
現在位置より2つ上のディレク...
-
Subversionのリポジトリの削除
-
fopenでファイルが開かない場合...
-
makefile でファイルをコピーす...
-
VB.NET 最下位のディレクトリ名...
-
rmdirでフォルダが消せません
-
visualstudioでc#のdllができない
-
ファイルアップロードに関して...
-
絶対パス?絶対アドレス?意味...
-
MkDir関数
-
拡張子を隠すのは良い事なので...
-
Subversionで、ファイルをリネ...
-
powershell で書いたプログラム...
-
コマンドプロンプトを指定のデ...
-
ファイル選択ダイアログで選択...
-
aspのページが表示できません
-
JAVA内で複数のファイルを削除...
おすすめ情報