2008/01/07

プログラム 入力チェック

WebAPPやローカルAPPなどで入力内容のチェックは必須事項ですよね。
入力チェックを行う場合、一番気にしなければいけないのはやはりXSSやSQLインジェクション。
それ以外にも多数の攻撃手法がありますけど、こやつらは回避できないと・・・怖いですなぁ。

さて、今まで自分がアホォだったため、チェック手法に抜けがあったりなかったり・・・
やらなければならないチェック内容は
 ①未入力検出(またはundefined検出)
 ②入力規則(半角・全角、英字、数字、漢字、ひらがな、カタカナ、記号)
 ③文字数
があるのかな・・・(足りないかもしれないけど)

以前から気になっていたのは、全角文字のみのテキストフィールドに半角文字の検出、対処はどうすればいいのだろうか?と思っていたら同じ事を考えている人がおりました。

半角文字で特に危険な文字は置換してしまえばいい! のである。

置換例としては、こんな感じ。
 ☆HTMLエスケープ
  ” → &quot
  > → <
  > → >
  & → &
 ☆SQLエスケープ
  ’ → ’’
  ¥ → ¥¥

HTMLに関しては、aspなどでサニタイジングする専用関数(aspならHTMLEncode)があるのでそれを活用すればOK!
問題はSQLエスケープかな???

ユーザによって、癖で記号を入力する人がいると思うので、やはり入力チェックは必要ですね。
スポンサーリンク

スポンサーリンク