クライアント側の言語、javascriptを打ち込んでいる時はただひたすらにロジックを考えていれば、物は完成する。機能さえ作れていれば、アプリとして問題ないっていう感じ。フォームとかユーザーの入力を受け付けなければの話だけどね。
でも、サーバー側の言語を記述する時はそうもいってられない。ユーザーからの入力をしてもらうログイン機能やアンケート機能をPHPで実装しようとすると、フォームに不正な値が入力されていないかチェックしなきゃいけない。そうしないと、ユーザーから本当に得たい情報以外がフォームに入力された時に対処できないから。
例えば、フォームを空文字で何度も送信されたらどうだろうか。ユーザーの新規登録画面で空白入力だけで登録できてしまったらどうだろうか。IDとパスワードが空白でログインできたら登録する意味がない。
メールアドレスにはメールアドレスの形がある。@gmail.com、@ezweb.ne.jp、@yahoo.co.jpなどなど。このようなパターンを認識せず、選別なしに登録できてしまったらこれも意味がない。
フォームの前後に空白があるだけでも本来入力したかった値と変わってしまってデータの重複の恐れがあったりもする。
最悪なのは、プログラミングのコードをフォームに入力されて本来のプログラムが誤作動を起こすこと。フォームはセキュリティに関する知識がないと簡単には扱えない。
メタボ検診システムが、入力された文字の半角と全角の判別ができないとかで問題になったニュースもこないだ見たなあ。
ま、セキュリティをもう少し勉強した上でアプリのリリース目指したいと思います。