所谓sql注入
就是通过输入请求,把sql命令插入到sql语句中
以达到欺骗服务器执行而已sql命令的目的
如使用
string sql = “Select * from player where id =” + id;
此时可以正常完成数据的读取工作
如果使用
“xiaoming;delete * from player;”的名字
此语句则变成两条语句
Select * from player where id = xiaoming; delete * from player;
执行完此条语句后,player表的数据将被全部删除。
要防止sql注入
就得在拼装sql语句前,对用户输入的字符串进行安全性检测
下面函数,使用正则表达式编写判定安全字符串的方法
把含有“-;/()[]{}%@*”这些特殊符号的字符串判定为不安全字符串
public bool IsSafeStr(string str){ return !Regex.IsMatch(str,@”[-|;|,|/|(|)|[|]|}|{|%|@|*|!|’]”); }