文字列とセキュリティ

文字列を入力に受け付けるっていうのは、間口の広い入り口を設けることになる。
間口の広いとはどういうことかというと、反対の狭い例を考えて見るとよくわかる。例えば、提示したいくつかの選択肢から選ばせる場合や、数字のみ入力に受け付ける場合なんてのが挙げられる。
間口が狭い場合は、チェックが容易だ。選択肢にないものをはじく、数字ではないものをはじく、数字の許容範囲を超えているものをはじくのは比較的容易だ。
文字列を受け付ける場合はどんなときがあるだろう?検索窓からの入力、アカウントの入力、パスワードの入力、記事を投稿する際の入力…。いくらでもありそう。数字を受け付ける場合も、バックエンドに渡るころには数字として扱っていても、初めは文字列として入力される。
入力された文字列の厳重なチェックはかかせない。当然サニタイジングしたり、SQLインジェクション対策のために文字列を厳重にチェックしているよね?
ASP.NETに限らず、セキュリティについて常に考えていますか?

IPA セキュア・プログラミング講座:IPA 独立行政法人 情報処理推進機構
IBM Developer 日本語版 : 大変申し訳ありません。このページは無効です。
IBM Developer 日本語版 : 大変申し訳ありません。このページは無効です。

ところで、そのチェックは完全ですか?ザルだったりしませんか?
文字列の比較って、どういう処理をしているのか知っていますか?