首頁 > 資料庫 > mysql教程 > 如何防止 C# 應用程式中的 SQL 注入?

如何防止 C# 應用程式中的 SQL 注入?

DDD
發布: 2025-01-25 10:17:09
原創
257 人瀏覽過

How Can I Prevent SQL Injection in My C# Application?

保護您的 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>
登入後複製

此範例使用 customerIDdemoXml 參數,防止手動建立 SQL 查詢中固有的 SQL 注入漏洞。 此方法可確保資料完整性和應用程式安全性。

以上是如何防止 C# 應用程式中的 SQL 注入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板