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

论坛 期权论坛 脚本     
niminba   2021-5-23 02:29   232   0

本文实例叙述了在拼接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#数据库程序有一定的借鉴作用。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP