asp.net – 存储过程查询中的SQL注入
发布时间:2020-12-16 09:53:13 所属栏目:asp.Net 来源:网络整理
导读:我有一个存储过程,它将根据用户键入标准搜索文本框的内容返回搜索结果.按下在搜索框中输入后,我将查询传递给search.aspx?q =无论用户输入什么. search.aspx有一个sqldatasource,它接受一个查询字符串参数并调用一个连接多个表的存储过程,并包含以下where子
我有一个存储过程,它将根据用户键入标准搜索文本框的内容返回搜索结果.按下在搜索框中输入后,我将查询传递给search.aspx?q =无论用户输入什么.
search.aspx有一个sqldatasource,它接受一个查询字符串参数并调用一个连接多个表的存储过程,并包含以下where子句…… where (description like '%' + @query + '%' or title like '%' + @query + '%' or calls.call_id like @query or r.firstname = @query or r.lastname = @query or n.note like '%' + @query + '%') …这个sql注入是安全的,即使用这样的参数吗? 谢谢, 解决方法
不,这不容易受SQL注入,因为它使用SQL参数.假设有人试图通过提供@query的值来执行
SQL injection:
“; DROP TABLE学生; 使用您提供的代码仍然是安全的,因为除了非SQL参数外,查询全部都是您的;这是一个字符串.即使字符串包含SQL,也不会执行它,除非您的存储过程实际上是executed.从来没有这样做过(除非你有充分的理由(但即便如此,你应该先重新设计)).只需使用参数来清理用户输入,就可以轻松避免SQL注入. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – DAL中的app.config和WebApplication中的web
- asp.net-mvc – ASP.NET MVC页面不通过3G或某些代理服务器提
- 存储ASP.NET会话状态时AppFabric Cache的新缓存参数
- asp.net-mvc-4 – ASP.NET MVC Web Api无法将QueryString映
- asp.net-core – ASP.NET 5中的Application_Start等价物
- asp.net – jquery下拉选择器AutoPostback
- .net – 新的单元测试
- kendo-ui – 剑道网格刷新(数据绑定两次)
- Windbg程序调试系列1-常用命令说明&示例
- ASP.Net多个源文件
推荐文章
站长推荐
- 使用Asp.net Web API时,使用DataContract和DataM
- asp.net – 服务器随机返回状态码为200的空响应
- asp.net-mvc-2 – 在asp.net MVC中的表中插入多行
- asp.net – 禁用aspnet.friendlyurl的平板电脑移
- asp.net – 如何从Javascript调用控制器方法
- asp.net – JQuery Live()无效
- asp.net c#中的最佳Audit Trail流程?
- 在ASP.NET Core中使用AOP来简化缓存操作
- asp.net-core-1.0 – Asp.Net Core 1.0 RTM中Cre
- 使用ASP.NET Web API 2.1配置依赖注入
热点阅读