12
パラメータが文字列でない場合、SQLクエリをパラメータ化しないことは安全ですか?
SQLインジェクションに関しては、stringパラメーターをパラメーター化する必要性を完全に理解しています。それは本の中で最も古いトリックの1つです。しかし、いつパラメーター化しないことが正当化できるのSqlCommandでしょうか?パラメータ化しないで「安全」と見なされるデータ型はありますか? たとえば、私はSQLの専門家の近くにいるとは考えていませんが、SQLインジェクションに対して脆弱で、a boolまたはan を受け入れ、それをintクエリに直接連結する可能性があるとは考えられません。 私の仮定は正しいですか、それとも私のプログラムに大きなセキュリティの脆弱性を残す可能性がありますか? 明確にするために、この質問にはタグが付けられています c#これは強く型付けされた言語です。私が言うとき、「パラメータを、」のようなものだと思います public int Query(int id)。