0
任何人都可以告诉我一种方法来防止在建立 WHERE
子句有"myval IN (string_1, ... , string_n)"
条件的查询时的sql注入?带有字符串列表的SQLite注入
我虽然关于动态构建带有注释的命令文本,并为字符串列表中的这些注释添加参数。有更容易的方法吗 ?
谢谢。
任何人都可以告诉我一种方法来防止在建立 WHERE
子句有"myval IN (string_1, ... , string_n)"
条件的查询时的sql注入?带有字符串列表的SQLite注入
我虽然关于动态构建带有注释的命令文本,并为字符串列表中的这些注释添加参数。有更容易的方法吗 ?
谢谢。
不,没有简单的方法。不要列出危险字符。只需使用带参数的命令。
using (var conn = new SQLiteconnection(connectionString))
using (var command = conn.CreateCommand())
{
conn.Open();
command.CommandText = "select name from persons where id = @id";
command.Parameters.AddWithValue("@id", 5);
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
}
}
}