规避SQL注入

如果不规避,在黑窗口里面输入内容时利用拼接语句可以对数据进行攻击

如:输入Code值

p001' union select * from Info where '1'='1 //这样可以查询到所有数据,不要轻易相信用户输入的内容

防止SQL注入攻击

通用方法:可以用正则匹配掉特殊符号

推荐方法:再给命令发送SQL语句的时候分两次发送

      把SQL语句拆成两块

用户输入的是一块;本身写好的是一块

第一次把CommandText里写的sql语句发过去;第二次把变量值发过去,进行匹配

 例:

使列名等于一个变量名

改变量绑定参数 cmd.Parameters.AddWithValue("变量名称",变量值);

cmd.Parameters是对象里面的一个属性,返回值是一个集合

有时会用到同样的变量名 所以在绑定参数之前先清除一下cmd.Parameters.Clear();

        static void Main(string[] args)
{
//接收用户输入的查询条件
Console.WriteLine("请输入要查询的汽车代号:");
string code = Console.ReadLine(); //造连接对象
SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123"); //造命令对象
SqlCommand cmd = conn.CreateCommand(); //给命令对象一条SQL语句
//使code=一个变量
cmd.CommandText = "select * from Car where Code=@code";
//cmd.CommandText = "select * from Car where Code=@code or Name=@name"; //改变量绑定参数
cmd.Parameters.Clear();//清除绑定的变量,最好每次用参数集合前写一个清除
cmd.Parameters.AddWithValue("@code",code);
//cmd.Parameters.AddWithValue("@name",name);//有多少列绑多少个 //打开连接
conn.Open(); //执行SQL语句
SqlDataReader dr = cmd.ExecuteReader(); //读取数据
if (dr.HasRows)
{
while (dr.Read())
{
Console.WriteLine(dr[] + "--" + dr[]);
}
}
else
{
Console.WriteLine("没有查到相应的数据");
} //关闭连接
conn.Close(); Console.ReadLine();
}

最新文章

  1. Maven日常 —— 你应该知道的一二三
  2. Python 3.6.0的sqlite3模块无法执行VACUUM语句
  3. 安卓App和java通信实例
  4. Android ViewHolder的作用与用法
  5. 解析php开发中的中文编码问题
  6. (转)Mongodb相对于关系型数据库的优缺点
  7. CSS3 变形小结
  8. oracle 11g常用命令
  9. iOS tableView移除某一行的分割线 让分割线宽度为整个cell的宽度
  10. 开源社交系统ThinkSNS v4.6.1更新日志及功能详解!
  11. tensorflow笔记(二)之构造一个简单的神经网络
  12. File System 之本地文件系统
  13. python库termcolor用法
  14. app测试中隐藏键盘
  15. 在 Visual Studio 中使用 IntelliTrace 快照功能
  16. Array Queries CodeForces - 797E
  17. jquery实现分页+单删批删
  18. Javaweb学习(二):Http通信协议
  19. Oozie workflow工作流action间参数传递实现
  20. 【timeisprecious】【JavaScript 】JavaScript String 对象

热门文章

  1. 创建表结构相同的表,表结构相同的表之间复制数据,Oracle 中 insert into XXX select from 的用法
  2. iOS之UILabel自适应大小
  3. R语言相关工具
  4. HUST 1027 Enemy Target!
  5. Mariadb galera 群集
  6. php+socket模拟表单发送请求
  7. JavaScript 事件模型 事件处理机制
  8. php字符串压缩
  9. smarty3-笔记
  10. CABasicAnimation 基本动画 分类: ios技术 2015-07-16 17:10 132人阅读 评论(0) 收藏