ja:rule:inp:入力バリデーションにブラックリスト方式を用いない
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| ja:rule:inp:入力バリデーションにブラックリスト方式を用いない [2016/03/18 06:35] – created yohgaki | ja:rule:inp:入力バリデーションにブラックリスト方式を用いない [2017/07/04 01:07] (current) – [例外] yohgaki | ||
|---|---|---|---|
| Line 17: | Line 17: | ||
| ヌル文字のみチェックするブラックリスト方式では不必要なリスク/不安定要素をコード内に持ち込む。 | ヌル文字のみチェックするブラックリスト方式では不必要なリスク/不安定要素をコード内に持ち込む。 | ||
| + | ===== 非適合コード例(sanitize_filter)===== | ||
| + | |||
| + | <code php> | ||
| + | $email = filter_var($_POST[' | ||
| + | |||
| + | some_useful_function($email); | ||
| + | </ | ||
| + | |||
| + | FILTER_SANITIZE_EMAILは「英字、数字および !# | ||
| ===== 適合コード例 ===== | ===== 適合コード例 ===== | ||
| Line 34: | Line 43: | ||
| ===== 例外 ===== | ===== 例外 ===== | ||
| - | バリデーションエラーが大量に発生することが問題になる場合はサニタイズフィルターの利用を検討してもよい。 | + | バリデーションエラーが大量に発生することが問題になる場合はサニタイズフィルターの利用を検討しても構わないが、サニタイズは攻撃に対して脆弱な防御の仕組みである。 |
| ===== リスク評価 ===== | ===== リスク評価 ===== | ||
| - | [ルール/推奨事項のリスク評価] | + | 入力バリデーションは可能な限り厳格に行う必要がある。仕様(データの形式、長さ、範囲)として受け入れる必要がないデータを処理するとプログラム内部の処理または出力で誤作動のリスクを増加させる。 |
| - | + | ||
| - | [評価例 - 英語表記に統一] | + | |
| ^ Rule ^ Severity ^ Likelihood ^ Remediation Cost ^ Priority ^ Level ^ | ^ Rule ^ Severity ^ Likelihood ^ Remediation Cost ^ Priority ^ Level ^ | ||
| - | | IDS05-J | medium | + | | IDS05-J | high | likely |
| ===== 関連ガイドライン ===== | ===== 関連ガイドライン ===== | ||
ja/rule/inp/入力バリデーションにブラックリスト方式を用いない.1458282932.txt.gz · Last modified: 2016/03/18 06:35 by yohgaki
