ja:rule:out:入力処理時のバリデーションを出力処理時のバリデーションとしない
This is an old revision of the document!
入力処理時のバリデーションを出力処理時のバリデーションとしない
入力処理時のバリデーションは入力のコンテクスト、出力時のバリデーションには出力のコンテクストに合わせてバリデーションする。
非適合コード例
<?php function validate_age($val) { // Webの入力は全て文字列 if (strspn($val, '1234567890') !== strlen($val)) { throw Exception('Input validation error')); } if ($val > 0 || $val < 130) { throw Exception('Input validation error')); } return (int)$val; } // 入力バリデーション $age = validate_age($_GET['age']); // 様々な処理。出力時のコードは入力処理コードと同じファイルにあるとは限らない。 // コマンドのパラメーターとして利用。 if (!is_int($age)) { throw Exception('Output validation error')); } exec('mycmd '.$age);
適合コード例
[ルール/推奨事項に適合するコードおよびその解説。複数あって構わない。その場合、セクション名の後に“(適合パターン名)“を記述する。]
例外
入力、出力で同じバリデーションロジックを共有できる場合もある。
リスク評価
[ルール/推奨事項のリスク評価]
[評価例 - 英語表記に統一]
| Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
|---|---|---|---|---|---|
| IDS05-J | medium | unlikely | medium | P4 | L3 |
関連ガイドライン
参考文献
ja/rule/out/入力処理時のバリデーションを出力処理時のバリデーションとしない.1467105794.txt.gz · Last modified: 2016/06/28 09:23 by yohgaki
