バリデーションチェック

2021.07.30

フジボウルの寺山です。 さて、今回はバリデーションチェックについてです。 最近設計仕様書を作る機会があり、 作成/編集画面の項目毎にバリデーションを設定していたのですが、文字数制限に関して現場で意見がありました。 私は当初「詳細」をtextフィールドのものには文字数制限を入れておりませんでした。何文字でも入れようと思えば入れられた形です。なぜかといえばこのデータを入れるDB側が特に制限してなかったからです。 しかし、セキュリティ的にどうなの?という指摘があり、今回こちらの件含め調査いたしました。 ○バリデーションチェックはセキュリティ対策になる。 バリデーションチェックはセキュリティ対策の一環になります。そのため、きちんと決めることが大事でした。 例えば、文字数制限もある程度決めておくことでSQLインジェクションの対応になります。 また、バリデーションチェックは複数のチェックを使い分けて行った方がセキュリティ観点ではよいです。 ・入力バリデーション データ形式として妥当な形式であるかチェックします。例えば半角数値しか認めない場合、「aaa」とか「123 + 123」などを事前に弾くことです。プログラムでは正しく処理できないものはここで省きます。 ・ロジックバリデーション 処理そのものが適切であるかチェックします。 例えば、住所と郵便番号を入力する項目に対し、その二つの整合性が取れているか確認します。 ・出力バリデーション 出力値のチェックを行います。 「フェイルセーフ対策」という何か起こっても致命的な問題にならないようチェックします。 長くなってきそうですので、今回はここまでにします。 興味がありましたら、調べてみてはいかがでしょうか。

この記事を書いた人

寺山 拓未

2014年入社 現在セキュリティ関連の支援ツール開発業務に従事 ロボットアニメ全般が好き