当前位置: 首页 > 编程笔记 >

C#使用带like的sql语句时防sql注入的方法

翟卓君
2023-03-14
本文向大家介绍C#使用带like的sql语句时防sql注入的方法,包括了C#使用带like的sql语句时防sql注入的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例叙述了在拼接sql语句的时候,如果遇到Like的情况该怎么办。

一般采用带like的SQL语句进行简单的拼接字符串时,需要开率遇到sql注入的情况。这确实是个需要注意的问题。

这里结合一些查阅的资料做了初步的整理。

如这样一个sql语句:

select * from game where gamename like '%张三%'

用c#表示的话:

string keywords = "张三";
StringBuilder strSql=new StringBuilder();
strSql.Append("select * from game where gamename like @keywords");

SqlParameter[] parameters=new SqlParameter[]
{
 new SqlParameter("@keywords","%"+keywords+"%"), 
};

这里虽然采用了仍然是用% 来写,但是可以有效过滤sql注入的情况,还是挺简单实用。

相信本文所述对大家构建更安全的C#数据库程序有一定的借鉴作用。

 类似资料:
  • 我对where条件、order by和limit有一个查询。我使用准备好的语句来设置where条件和限制。当前,我使用字符串append作为order,从而导致SQL注入漏洞。

  • 问题内容: 我对此情况有疑问。 我在存储过程中有这样的查询: 我的问题是,这容易受到SQL注入的攻击吗?我需要将其更改为以下内容吗?(?) 问题答案: 快速的答案是不。为了易于进行SQL注入,必须使用动态SQL执行。 这 将很容易受到攻击: 这也意味着这两个示例之间没有真正的区别(至少从安全角度而言)。

  • 问题内容: 停止使用不推荐使用的mysql_ *函数后,我切换到mysqli。但是后来,我注意到未准备好的语句对于SQL注入是不安全的。然后,我再次更改了代码。 我所拥有的是以下函数,该函数检查数据库中是否存在变量 $ ID 并打印该行的 title 值: 我将其更改为: 我的问题是:这是执行准备好的语句的正确方法吗?另外,我现在可以安全使用SQL注入吗?非常感谢任何愿意回答这个问题的人:) 问题

  • 问题内容: 我有一张表格,其中包含有关零售店的信息。我有一个零售链名称的列表(WalMart,Target,Eaton等)。当用户选择一个时,我基本上会运行一个查询来查找与该链有关的任何内容。 例如,如果用户选择“ WalMart”,则查询将返回名称中带有单词“ WalMart”的任何内容(WalMart Scarborough,WalMart Supercenter Toronto,WalMar

  • 问题内容: 我目前正在制作一份报告,向我显示我们销售团队涵盖的所有邮政编码。 每个团队涵盖100多个邮政编码。我想做的是创建一个报告,将邮政编码内的客户带回去。目前,我的代码如下所示。 我希望的是有一种更快,更轻松的方式来做到这一点。任何建议将不胜感激。有没有一种方法可以为每个销售团队创建变量,例如 只是在钓鱼的想法。干杯 问题答案: