ファイルサイズが保証できない場合、ファイルサイズを検証しないと巨大なデータを読み込んでしまう可能性がある。大きなデータには小さなファイルにないリスクが存在する。
ファイルサイズを検証しない
$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 |