ja:rule:fle:読込むファイルサイズを検証する
読込むファイルサイズを検証する
ファイルサイズが保証できない場合、ファイルサイズを検証しないと巨大なデータを読み込んでしまう可能性がある。大きなデータには小さなファイルにないリスクが存在する。
- 整数オーバーフロー
- DoS
非適合コード例
ファイルサイズを検証しない
$data = file_get_contents('/path/to/file'); // $dataのサイズは不定。メモリ制限がある場合、プログラムの実行が意図せず停止。
適合コード例
最大のファイルサイズを指定する
$data = file_get_contents('/path/to/file', false, null, 0, 4096); // $dataのサイズは最大でも4096バイト
最大のファイルサイズを確認する
if (filesize('/path/to/file') > 4096)) { throw new Exception('Too large file'); } $data = file_get_contents('/path/to/file'); // $dataのサイズは最大でも4096バイト
例外
ファイルサイズが許容可能であると保証できる場合、ファイルサイズチェックを省略できる。
リスク評価
[ルール/推奨事項のリスク評価]
[評価例 - 英語表記に統一]
| Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
|---|---|---|---|---|---|
| IDS05-J | medium | unlikely | medium | P4 | L3 |
関連ガイドライン
参考文献
ja/rule/fle/読込むファイルサイズを検証する.txt · Last modified: 2017/10/26 07:45 by yohgaki
