User Tools

Site Tools


ja:rule:inp:入力バリデーションにブラックリスト方式を用いない

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki