mysql - asp.net中的mysql如何转义?

标签 mysql sql asp.net security ado.net

此 PHP 代码在 ASP.NET 中的等效项是什么?

$db = new mysqli(/*some data*/);
$db->query('INSERT INTO `log` (`msg`) VALUES ("'.$db->real_escape_string($_POST['mesg']).'");');

我只对 mysqli_real_escape_string 感兴趣,但我在 Google 上能找到的 ASP.NET 和 SQL 的唯一示例都是可注入(inject)的

所以我的问题是:如何使用 ADO.NET 将用户数据传递给 ASP.NET 中的 SQL?

如果您使用替换正则表达式,请将您的示例基于 this代码。

最佳答案

使用这种方法时,您需要考虑使用 parameterized SQL在您的代码中。

using (SqlConnection connection = new SqlConnection(connectionString))
{
  DataSet userDataset = new DataSet();

  SqlDataAdapter myDataAdapter = new SqlDataAdapter("SELECT * FROM Log WHERE Message = @Message", connection);                

  myCommand.SelectCommand.Parameters.Add("@Message", SqlDbType.VarChar, 11);

  myCommand.SelectCommand.Parameters["@Message"].Value = messageString;

  myDataAdapter.Fill(userDataset);
}

关于mysql - asp.net中的mysql如何转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6374008/

相关文章:

mysql - 如何设计表以允许大量行?

mysql - 在 mysql 中使用多个子句操作行

sql - 带有Las帐户的Tableau月销售总额客户项目本月销售

c# - 重置密码时出错

ASP.NET Request.Cookies ["cookie"] 在初始请求时在 IE 中返回空白

mysql - 将一列设置值转换为 MySQL 中的一列单个值

php - 从 mysql 回显特殊字符

sql - 愚蠢的 SQL Q : Count from a query

php - 有没有办法判断表/行是否涉及不同 session 的事务?

Asp.net - 从数据库创建 2 个链接的下拉列表