回答編集履歴
2
追記&訂正
    
        answer	
    CHANGED
    
    | @@ -3,7 +3,7 @@ | |
| 3 3 | 
             
            > 1. 今の自分の理解に間違っている部分があれば指摘してほしいです。
         | 
| 4 4 | 
             
            > 2. (今の自分の理解があっているとするなら)こうすれば対策が取れたコードになるんじゃないか、というコードは書いてみたのですが、これではたして対策できているのか、
         | 
| 5 5 |  | 
| 6 | 
            -
            対策以前に、質問に書かれた「知ったうえで対策を考えて書いたコード」の「例 1」は動かないと思いますが、それはちょっと置いといて、SQL 文のパラメータ化の観点だけから対策前後のコードを見ると、
         | 
| 6 | 
            +
            対策以前に、質問に書かれた「知ったうえで対策を考えて書いたコード」の「例 1」は動かないと思いますが、それはちょっと置いといて(=「例 1」は議論の対象外とし、「例 2」だけ考えてという意味)、SQL 文のパラメータ化の観点だけから対策前後のコードを見ると、
         | 
| 7 7 |  | 
| 8 8 | 
             
            > SQLインジェクション攻撃を知るまでに書いていたコード
         | 
| 9 9 |  | 
| @@ -13,7 +13,7 @@ | |
| 13 13 |  | 
| 14 14 | 
             
            ⇒ SQL 文をパラメータ化し、ADO.NET + SqlClient の SqlCommand 使ってパラメータ値を代入し、SQL Server に発行。
         | 
| 15 15 |  | 
| 16 | 
            -
            ・・・となっていて、パラメータ化による SQL インジェクション防止対策は考えれ | 
| 16 | 
            +
            ・・・となっていて、パラメータ化による SQL インジェクション防止対策は考えられていると思います。
         | 
| 17 17 |  | 
| 18 18 | 
             
            ただ、「高いスキルを持つ決然たる攻撃者は、パラメータ化されたデータであっても操作できる」そうで(下に紹介した Microsoft のドキュメントに書いてあったこと)、以下の記事の「すべての入力の検証」セクションに書いてあるように "型、長さ、形式、および範囲をテストすることによってユーザー入力を必ず検証してください" も対処する必要があると思います。
         | 
| 19 19 |  | 
1
訂正
    
        answer	
    CHANGED
    
    | @@ -15,7 +15,7 @@ | |
| 15 15 |  | 
| 16 16 | 
             
            ・・・となっていて、パラメータ化による SQL インジェクション防止対策は考えれれていると思います。
         | 
| 17 17 |  | 
| 18 | 
            -
            ただ、 | 
| 18 | 
            +
            ただ、「高いスキルを持つ決然たる攻撃者は、パラメータ化されたデータであっても操作できる」そうで(下に紹介した Microsoft のドキュメントに書いてあったこと)、以下の記事の「すべての入力の検証」セクションに書いてあるように "型、長さ、形式、および範囲をテストすることによってユーザー入力を必ず検証してください" も対処する必要があると思います。
         | 
| 19 19 |  | 
| 20 20 | 
             
            SQL インジェクション
         | 
| 21 21 | 
             
            [https://docs.microsoft.com/ja-jp/previous-versions/sql/sql-server-2008/ms161953(v=sql.100)](https://docs.microsoft.com/ja-jp/previous-versions/sql/sql-server-2008/ms161953(v=sql.100))
         | 
