技術的には、ユーザー入力から取得されていないデータを準備しなくても、リスクはありません。ただし、いくつかの理由からそうすることを強くお勧めします。
- ユーザー入力データをどこかに準備するのを忘れた場合、このユーザーが、ユーザー入力であるとは予想していなかった雑多なものをデータ行に挿入した可能性があります。
- サーバーを安全に保つために、実行していることを繰り返すことをお勧めします。混同し始めると、実際に必要な場所でデータを準備することを忘れる可能性がはるかに高くなります。
- データの準備は、攻撃者からのSQLインジェクションを防ぐためだけのものではありません。また、誤ってコードにバグを作成した場合に備えて、データベースの問題を防ぐことができます。例:
コードのどこかに、データベースにエラーログを追加するログシステムがあります。文字列は次のようになります:
この文字列は、スクリプトによって生成されます。そのため、あなたはそれを準備しません。ただし、この文字列内の引用符は、データベースでエラーを引き起こします。これは、とにかく準備しておけば防ぐことができたはずです。