User Tools

Site Tools


ja:rule:out:入力処理時のバリデーションを出力処理時のバリデーションとしない

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:out:入力処理時のバリデーションを出力処理時のバリデーションとしない [2016/06/28 08:00] – [例外] yohgakija:rule:out:入力処理時のバリデーションを出力処理時のバリデーションとしない [2016/06/28 09:24] (current) – [適合コード例] yohgaki
Line 8: Line 8:
  
 <code php> <code php>
 +<?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);
  
 </code> </code>
Line 14: Line 37:
 ===== 適合コード例 ===== ===== 適合コード例 =====
  
-[ル/推奨事項に適合するコードおよびその解説。複数って構わない。その場合、セクショ後に"(適合パターン名)"を記述する]+<code php> 
 +<?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); 
 +</code>
  
  
ja/rule/out/入力処理時のバリデーションを出力処理時のバリデーションとしない.1467100819.txt.gz · Last modified: 2016/06/28 08:00 by yohgaki

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki