这里使用的是参数化

SqlParameter useremail = new SqlParameter("@useremail", user.user_Email);
SqlParameter pwd = new SqlParameter("@pwd", user.user_pwd);
SqlParameter type = new SqlParameter("@type", user.user_Type);
SqlParameter phone = new SqlParameter("@phone", user.user_phone);
SqlParameter username = new SqlParameter("@username", user.user_phone);
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.Parameters.Add(useremail);
cmd.Parameters.Add(pwd);
cmd.Parameters.Add(type);
cmd.Parameters.Add(phone);
cmd.Parameters.Add(username);
int count = cmd.ExecuteNonQuery();
conn.Close();
return count; 添加使用这段代码
 SqlParameter pages = new SqlParameter("@pages",page);
SqlParameter rowss = new SqlParameter("@rows",rows);
SqlDataAdapter dat = new SqlDataAdapter(sql, conn);
conn.Open();
dat.SelectCommand.Parameters.Add(pages);
dat.SelectCommand.Parameters.Add(rowss);
DataSet ds = new DataSet();
dat.Fill(ds);
conn.Close();
return ds; 查询使用这段代码
 string conText = "server=.;uid=sa;pwd=123456;database=ars";
using (SqlConnection con = new SqlConnection(conText))
{
using (SqlCommand cmd = con.CreateCommand())
{
con.Open();
cmd.CommandText= "select sName from student where sId = @sid and sMajor = @sMajor and sPassword = @sPassword";
//构造参数数组parameters
SqlParameter[] parameters = {new SqlParameter("@sid",),
new SqlParameter("@smajor",),
new SqlParameter("@spassword",) };
cmd.Parameters.AddRange(parameters);
cmd.ExecuteNonQuery();
}
} 添加也可以使用这个
继续对比

SqlParameter
sp = new SqlParameter("@name","Pudding");
cmd.Parameters.Add(sp);
sp
= new SqlParameter("@ID","");
cmd.Parameters.Add(sp); -----------------------------------
SqlParameter[]
paras = new SqlParameter[]
{ new SqlParameter("@name","Pudding"),new SqlParameter("@ID","")
};
cmd.Parameters.AddRange(paras); 这样子还是第二种写数组的方便

sql server 防 注入的更多相关文章

  1. sql server手工注入

    sql server手工注入 测试网站testasp.vulnweb.com 1. http://testasp.vulnweb.com/showforum.asp?id=0 http://testa ...

  2. mybatis 的sql语句及使用mybatis的动态sql mybatis防注入

    由于看到写的比较详细的文档这里将之前的删掉了,只留下一些我认为能帮助理解的和关于动态sql及防注入的一些理解.文档链接  :mybatis官方文档介绍 <!-- 根据条件查询用户 --> ...

  3. 手工注入——sql server (mssql)注入实战和分析

    前言 首先要对sql server进行初步的了解.常用的全部变量@@version:返回当前的Sql server安装的版本.处理器体系结构.生成日期和操作系统.@@servername:放回运行Sq ...

  4. JDBC编程之预编译SQL与防注入

    在JDBC编程中,常用Statement.PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedS ...

  5. JDBC模拟登陆及SQL语句防注入问题

    实现模拟登陆效果:基于表Tencent package boom; import java.sql.Connection; import java.sql.DriverManager; import ...

  6. SQL防注入程序 v1.0

    /// ***************C#版SQL防注入程序 v1.0************ /// *使用方法: /// 一.整站防注入(推荐) /// 在Global.asax.cs中查找App ...

  7. Sql server注入一些tips

    sql server环境测试: 几个特性: 1.sql server兼容性可以说是最差的. 举例: select x from y where id=1 字符串查询 select x from y w ...

  8. (非原)SQL注入专题--整理帖 && like 语句拼sql 如何防止注入攻击。

    原地址:blog.csdn.net/lvjin110/article/details/28697695 like 语句拼sql 如何防止注入攻击?http://bbs.csdn.net/topics/ ...

  9. 使用OPENROWSET爆破SQL Server密码

    使用OPENROWSET爆破SQL Server密码   OPENROWSET函数是SQL Server提供的一个连接函数.它可以用于使用OLE DB方式连接一个数据库,并进行数据查询等操作.使用该函 ...

随机推荐

  1. 4.git的基本命令

    版本库 index 暂存区,HEAD 将来1.0,2.0的指向  多次add,一次commit 每次commit一次,head就指向了最新的版本.head是回退版本的时候会用到 一般有开发的分支,ma ...

  2. python进阶----logging模块

    在工作中经常要打印一些日志,下面介绍一下python中的logging模块 首先,先了解一下日志的级别,主要分为以下5种: debug      最低级别,一般开发用来打印一些调试信息 info    ...

  3. Unity和Android交互学习

    这段时间学习Unity和Android互调,从基础开始. 网上的教程有很多,浏览了一圈教程,发现目前有两种方式:一种是直接把 .aar文件导入Unity/Plugins/Android文件夹,另一种是 ...

  4. 日常小节----unity小坑记(射线检测固定层级)

    unity中射线检测需设定所需层级时,必须加上距离!!! //一条从主相机到屏幕点击点的射线 Ray ray = Camera.Main.ScreenPointToRay(Input.mousePos ...

  5. leetcode548 Split Array with Equal Sum

    思路: 使用哈希表降低复杂度.具体来说: 枚举j: 枚举i,如果sum[i - 1] == sum[j - 1] - sum[i],就用哈希表把sum[i - 1]记录下来: 枚举k,如果sum[k ...

  6. HOG算法总结

    1.HOG特征提取所针对的图像的尺寸是固定的.输入的图像应首先resize到这个尺寸. 2.尺寸的划分3个等级:window,block,cell window即输入的需要提取特征的图片大小.然后将w ...

  7. 最新 完美世界java校招面经 (含整理过的面试题大全)

    从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.完美世界等10家互联网公司的校招Offer,因为某些自身原因最终选择了完美世界.6.7月主要是做系统复习.项目复盘.Leet ...

  8. 如何在视图中启用thymeleaf

    1.在HTML标签中引入一个属性 <html xmlns:th="http://www.thymeleaf.org"> <!-- 引入xmlns:th属性才能启用 ...

  9. 39.创建多进程及进程通讯 -- Queue--Pipe--Event

    创建多进程 windows:进程.线程 linux:进程.线程(做了进程通信的多进程实现的线程) 进程之间内存彼此独立,不管是父子进程还是单个独立进程 multiprocessing:Process ...

  10. IPv4-构造超网

    5台PC和两个路由器 PC  设置  IP地址     子网掩码    默认网关 路由器设置    接口的IP地址  子网掩码     static(网络   掩码  下一跳) PC1  ping  ...