ADO.NET コマンドへのパラメータの追加
データを変更する ADO.NET コマンドを構築する場合、SQL を防ぐためにパラメータを利用することが重要ですインジェクション攻撃を行い、パフォーマンスを向上させます。次のサンプル コードを考えてみましょう。
SqlCommand command = new SqlCommand("INSERT INTO Product_table Values(@Product_Name,@Product_Price,@Product_Profit,@p)", connect);
このコードは、パラメーターを使用してデータベース テーブルに値を挿入しようとします。ただし、パラメータは正しく定義されていません。
解決策:
正しいアプローチは、次のように、名前、データ型、値を使用して各パラメータを明示的に定義することです。以下:
SqlCommand cmd = new SqlCommand("INSERT INTO Product_table (Product_Name, Product_Price, Product_Profit, p) " + "Values (@Product_Name, @Product_Price, @Product_Profit, @p)", connect); cmd.Parameters.Add("@Product_Name", SqlDbType.NVarChar, ProductNameSizeHere).Value = txtProductName.Text; cmd.Parameters.Add("@Product_Price", SqlDbType.Int).Value = txtProductPrice.Text; cmd.Parameters.Add("@Product_Profit", SqlDbType.Int).Value = txtProductProfit.Text; cmd.Parameters.Add("@p", SqlDbType.NVarChar, PSizeHere).Value = txtP.Text; cmd.ExecuteNonQuery();
追加考慮事項:
以上がSQL インジェクションを防ぐために ADO.NET コマンドにパラメータを安全に追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。