User Tools

Site Tools


ja:rule:inp:バリデーションする前に全ての変換作業を行う

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ja:rule:inp:バリデーションする前に全ての変換作業を行う [2016/03/05 22:09] – [参考文献] yohgakija:rule:inp:バリデーションする前に全ての変換作業を行う [2017/07/04 01:09] (current) – [適合コード例] yohgaki
Line 3: Line 3:
 バリデーションを行うデータはバリデーションを行う前に全ての変換作業を行わなければならない。変換作業を後で行うとバリデーションが無意味となる場合が多々ある。 バリデーションを行うデータはバリデーションを行う前に全ての変換作業を行わなければならない。変換作業を後で行うとバリデーションが無意味となる場合が多々ある。
  
-  * Unicode文字の正規化(NFCなど)+  * Unicode文字の正規化(NFKCなど)
   * 文字エンコーディング変換(SJISからUTF-8など)   * 文字エンコーディング変換(SJISからUTF-8など)
   * 全角/半角変換   * 全角/半角変換
Line 15: Line 15:
 バリデーションを行ってから変換を行うと、バリデーションの意味が無くなる場合多い。mb_convert_kana($str, 'knr')は全角文字を半角文字に変換する。strip_tags()は全角文字のタグを取り除かないので、mb_convert_kana()の変換により<script>などの危険な文字列が許容される。 バリデーションを行ってから変換を行うと、バリデーションの意味が無くなる場合多い。mb_convert_kana($str, 'knr')は全角文字を半角文字に変換する。strip_tags()は全角文字のタグを取り除かないので、mb_convert_kana()の変換により<script>などの危険な文字列が許容される。
  
 +<color #ed1c24>**非適合コード**</color>
 <code php> <code php>
 //制御文字、長さなど他のバリデーションも必須 //制御文字、長さなど他のバリデーションも必須
Line 27: Line 28:
 適合コードはバリデーションの前に必要な変換作業を行う。これによりバリデーションロジックが正しく異常な入力を検出できるようになる。 適合コードはバリデーションの前に必要な変換作業を行う。これによりバリデーションロジックが正しく異常な入力を検出できるようになる。
  
 +<color #00a2e8>**適合コード**</color>
 <code php> <code php>
 $param = mb_convert_kana($_GET['param'], 'knr'); $param = mb_convert_kana($_GET['param'], 'knr');
ja/rule/inp/バリデーションする前に全ての変換作業を行う.1457215765.txt.gz · Last modified: 2016/03/05 22:09 by yohgaki

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki