sql server 防 注入
这里使用的是参数化
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 防 注入的更多相关文章
- sql server手工注入
sql server手工注入 测试网站testasp.vulnweb.com 1. http://testasp.vulnweb.com/showforum.asp?id=0 http://testa ...
- mybatis 的sql语句及使用mybatis的动态sql mybatis防注入
由于看到写的比较详细的文档这里将之前的删掉了,只留下一些我认为能帮助理解的和关于动态sql及防注入的一些理解.文档链接 :mybatis官方文档介绍 <!-- 根据条件查询用户 --> ...
- 手工注入——sql server (mssql)注入实战和分析
前言 首先要对sql server进行初步的了解.常用的全部变量@@version:返回当前的Sql server安装的版本.处理器体系结构.生成日期和操作系统.@@servername:放回运行Sq ...
- JDBC编程之预编译SQL与防注入
在JDBC编程中,常用Statement.PreparedStatement 和 CallableStatement三种方式来执行查询语句,其中 Statement 用于通用查询, PreparedS ...
- JDBC模拟登陆及SQL语句防注入问题
实现模拟登陆效果:基于表Tencent package boom; import java.sql.Connection; import java.sql.DriverManager; import ...
- SQL防注入程序 v1.0
/// ***************C#版SQL防注入程序 v1.0************ /// *使用方法: /// 一.整站防注入(推荐) /// 在Global.asax.cs中查找App ...
- Sql server注入一些tips
sql server环境测试: 几个特性: 1.sql server兼容性可以说是最差的. 举例: select x from y where id=1 字符串查询 select x from y w ...
- (非原)SQL注入专题--整理帖 && like 语句拼sql 如何防止注入攻击。
原地址:blog.csdn.net/lvjin110/article/details/28697695 like 语句拼sql 如何防止注入攻击?http://bbs.csdn.net/topics/ ...
- 使用OPENROWSET爆破SQL Server密码
使用OPENROWSET爆破SQL Server密码 OPENROWSET函数是SQL Server提供的一个连接函数.它可以用于使用OLE DB方式连接一个数据库,并进行数据查询等操作.使用该函 ...
随机推荐
- 刀塔OMG塔防1.26b单机版使用方法
使用方法 1.确保魔兽的版本为1.26以上(低版本会报错),如果版本不对用附件中的版本转换器转一下 2.把 omg.w3x 复制到 魔兽的MAPS文件夹 WarcraftIII 游戏根目录\Maps\ ...
- 【编程开发】MD5和RSA
MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. (1)MD5 MD5(单向散列算法)的全称是Message-Di ...
- Vue中ESlint配置文件.eslintrc文件
很久没有分享和更新过了 今天就给大家分享一篇 Vue中ESlint配置文件.eslintrc文件详解吧 ------------------------------------------------ ...
- kali PIN码破解
airmon-ng start wlan0 //开启网卡airodump-ng wlan0mon //监听模式,查找开启wps的apreaver -i wlan0mon -b [ap’s m ...
- (模板)poj1681 高斯消元法求异或方程组(无解、唯一解、多解)
题目链接:https://vjudge.net/problem/POJ-1681 题意:类似于poj1222,有n×n的01矩阵,翻转一个点会翻转其上下左右包括自己的点,求最少翻转多少点能使得矩阵全0 ...
- request方法
获取请求行方法: getMethod()获取请求的方法 getContextPath()回去虚拟路径 getServletPath()获取路径(只有在servert中使用) getQueryStrin ...
- IDEA插件之PMD
1.是什么? PMD 是一个开源静态源代码分析器,它报告在应用程序代码中发现的问题.PMD包含内置规则集,并支持编写自定义规则的功能.PMD不报告编译错误,因为它只能处理格式正确的源文件.PMD报告的 ...
- 知乎Python后端面试总结
一面 写个快速排序热热身,分析一下复杂度,如果不使用额外的空间,应该怎么写? 说一下Flask中g是怎么实现的,原理是什么? 说一下浏览器从输入url到页面渲染的过程,越详细越好: 了解web安全吗? ...
- Junit测试类中如何调用Http通信
在使用Junit做测试的时候,有时候需要调用Http通信,无论是request还是response或者是session会话,那么在测试类里该如何调用呢,其实很简单,spring给我们提供了三个类 or ...
- (十七)使用JDBC进行批处理
目录 业务场景: 第一种方式 第二种方式 批处理中的 update() 方法 注意事项 备注: 业务场景: 当需要向数据库中发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的 ...