C# SQL查询防注入,对于特殊字符的处理

酒已不醉 2015-05-25 05:03:09
在写程序的时候,需要用户输入一个名称,然后到数据库内检索数据,比如输入test,程序就会向数据库内检索,select * from t where columnName like '%test';但是如果test为%的话,就会检索出所有的数据。这样会有安全性问题。而且或者用户输入了test'的话,引号会不匹配,导致查询失败。请问下有什么方法,保证查询成功吗?
...全文
698 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-05-25
  • 打赏
  • 举报
回复
如果数据不会出现特殊字符,直接去掉。
如果允许出现特殊字符,两边加方括号。
where columnName like '%[%]'
where columnName like '%test[']'
酒已不醉 2015-05-25
  • 打赏
  • 举报
回复
谢谢 回复!

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧