好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

c# 防止MSSQL注入代码实例

为了防止SQL注入,你应该使用参数化查询。在C#中,你可以使用ADO.NET的SqlCommand和SqlParameter类来实现。以下是一个示例代码,展示了如何使用参数化查询来执行一个安全的SQL命令。

using System;

using System.Data;

using System.Data.SqlClient;

 

public class SafeSql

{

    public static void Main()

    {

        string connectionString = "Your Connection String Here";

        string sql = "SELECT * FROM Users WHERE Username = @username AND Password = @password";

 

        using (SqlConnection connection = new SqlConnection(connectionString))

        {

            SqlCommand command = new SqlCommand(sql, connection);

 

            // 添加参数

            command.Parameters.AddWithValue("@username", "safeUsername");

            command.Parameters.AddWithValue("@password", "safePassword");

 

            connection.Open();

            using (SqlDataReader reader = command.ExecuteReader())

            {

                while (reader.Read())

                {

                    Console.WriteLine(reader["Username"]);

                }

            }

        }

    }

}

在这个例子中,@username和@password是参数的占位符,它们会被相应的参数值替换。使用AddWithValue方法添加参数时,ADO.NET会处理转义和类型匹配,从而防止了SQL注入攻击。记得永远不要将用户输入直接拼接到SQL语句中。


查看更多关于c# 防止MSSQL注入代码实例的详细内容...

  阅读:32次