保護您的 C# 應用程式免受 SQL 注入攻擊
SQL 注入仍然是一個嚴重的安全威脅。本文詳細介紹了保護您的 C# 應用程式免受此漏洞影響的有效策略。
參數化查詢:預防的關鍵
針對 SQL 注入最強大的防禦方法是使用參數化查詢。 SqlCommand
類別及其參數集合自動處理資料清理,消除了手動錯誤和漏洞的風險。
範例:
以下程式碼片段展示了 C# 應用程式中參數的使用:
<code class="language-csharp">private static void UpdateDemographics(Int32 customerID, string demoXml, string connectionString) { // Update store demographics stored in an XML column. string commandText = "UPDATE Sales.Store SET Demographics = @demographics " + "WHERE CustomerID = @ID;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(commandText, connection); command.Parameters.Add("@ID", SqlDbType.Int); command.Parameters["@ID"].Value = customerID; // AddWithValue handles implicit XML string conversion by SQL Server. command.Parameters.AddWithValue("@demographics", demoXml); try { connection.Open(); Int32 rowsAffected = command.ExecuteNonQuery(); Console.WriteLine("RowsAffected: {0}", rowsAffected); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }</code>
此範例使用 customerID
和 demoXml
參數,防止手動建立 SQL 查詢中固有的 SQL 注入漏洞。 此方法可確保資料完整性和應用程式安全性。
以上是如何防止 C# 應用程式中的 SQL 注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!