防止SQL注入的方法
2023-09-11 14:14:14 时间
防止SQL注入的3个方法
//方法一:参数化查询。缺点:增大数据库的压力 string ConnectionString="";//数据库连接字串 string CustomerID = string.Empty; string CompanyName =string.Empty; string Address =string.Empty; using (SqlConnection cn = new SqlConnection(ConnectionString)) { cn.Open(); SqlCommand cmd = new SqlCommand("insert into Customers(CustomerID,CompanyName,Address) values(@CustomerID,@CompanyName,@Address)", cn); //cmd.Parameters.Add(new SqlParameter("@CustomerID", CustomerID)); 不会去与数据库匹配 cmd.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, CustomerID);//这种设置的数据类型,长度都必须与数据库字段一致 cmd.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, CompanyName); cmd.Parameters.Add("@Address", SqlDbType.NVarChar, 60, Address); cmd.ExecuteNonQuery(); cn.Close(); } //方法二:过滤输入的信息,检查是否存在危险字符。不必连接数据库 /// <summary> /// 检查输入的数据 是否存在危险字符 /// </summary> /// <param name="sUser"></param> /// <param name="sPwd"></param> /// <returns>返回一个bool值</returns> public bool CheckData(string sUser, string sPwd) { if (sUser.IndexOf("'") != -1 || sPwd.IndexOf("%") != -1) { return false; } return true; } //方法三:使用存储过程(简单代码) string ConnectionString = "";//数据库连接字串 string CustomerID = string.Empty; string CompanyName = string.Empty; string Address = string.Empty; using (SqlConnection cn = new SqlConnection(ConnectionString)) { cn.Open(); string Sql = "InsertUserProc";//存储过程名 SqlCommand cmd = new SqlCommand(Sql,cn); cmd.CommandType = CommandType.StoredProcedure; cmd.ExecuteNonQuery(); cn.Close(); }
相关文章
- python-Flask模版注入攻击SSTI(python沙盒逃逸)
- php如何防止SQL注入
- 网站入侵注入的几种方法总结【笔记】
- PHP+Mysql防止SQL注入的方法
- spring boot: 一般注入说明(五) @Component, application event事件为Bean与Bean之间通信提供了支持
- 避免SQL注入
- 深一层看依赖注入
- Nikto是一款Web安全扫描工具,可以扫描指定主机的web类型,主机名,特定目录,cookie,特定CGI漏洞,XSS漏洞,SQL注入漏洞等,非常强大滴说。。。
- SAP Spartacus 服务器端渲染的依赖注入之 ProductPageEventBuilder
- Spring 基于设值函数的依赖注入
- 使用@host获得宿主元素注入器里注入的内容
- 如何处理Angular依赖注入的错误消息: NullInjectorError No provider for EffectsRootModule!
- Angular Service依赖注入的一个具体例子
- 16 - vulhub - Django JSONField/HStoreField SQL注入漏洞(CVE-2019-14234)
- 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 使用 @Category 注解进行方法注入 | 分类注入方法查找优先级 )
- 小试XML实体注入攻击
- 5. 宽字符注入详解与实战
- SQL注入——堆叠注入,很简单,无非就是执行多条sql语句,注意不是所有DB支持
- SQL注入——万能密码,使用sqlmap的注入方法和GET类似,无非多了一个--data
- SQL注入中的WAF绕过