把sql语句(比如select语句)作为参数传到存储过程中,安全吗,会不会存在注入漏洞 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般不直接传SQL语句,大多是传变量,你直接传SQL语句就意味着你在外意拼接了,存在注入漏洞,你可以通过字符串过滤的方式尽量减少这方面的可能。。 不会有注入问题,因为存储过程只是把它当普通字符串。当然,如果你把sql语句传入存储过程是为了exec执行它,那会有注入危险。 我们公司有哥们开发一个类似 SQL server 查询分析器的东西(web版)的,是可以传sql语句的. 直接传SQL语句???那你还用存储过成干什么啊!拼接后ado不比你哪个还方便 exec是DDL语言效率很低的。另外你很要保证你的sql字符串的合法性,这不是给自己找麻烦呢吗建议换一下思路吧 那要怎样才能起到预编译作用呢?根据上面各回复的意思,是不是可以这样理解:凡传入参数并用了exec的都起不到预编译结果。 接上:是不是凡传入参数并用exec的,如果不对传入的参数进行过滤,是不是也不安全,因为可以在参数里加入做手脚 不安全,应为是拼接的动态sql语句容易被注入 不安全,在画面拼sql可能已经被注入了,需要的可能是对关键字进行过滤。 老早有现成的非常出色的类似phpmyadmin 这样的 d/b web工具:http://www.codeplex.com/SqlWebAdmin sql语句查询最近一次不为空的录入值 csdn的引用功能是怎么做的 数据库中为int型在页面中显示string型 大家看看这种样式效果该如何实现? 关于动态图 如何将Winform应用程序与.NET运行环境打包到一起 有关上传最大限制问题 往calendar中添加工作安排,并显示!(说明方法或用程序)(在线等..!!) 不能插入数据到数据库!!!我快疯了..... 这两个东西在我的机器上返回一样的值,他们的区别是什么啊,谢谢了 *******asp.net 要从那些方面防sql注入?******* 发布网站时出现问题,不知如何解决
大多是传变量,
你直接传SQL语句就意味着你在外意拼接了,存在注入漏洞,你可以通过字符串过滤的方式尽量减少这方面的可能。。
当然,如果你把sql语句传入存储过程是为了exec执行它,那会有注入危险。
那你还用存储过成干什么啊!
拼接后ado不比你哪个还方便
另外你很要保证你的sql字符串的合法性,这不是给自己找麻烦呢吗
建议换一下思路吧
根据上面各回复的意思,是不是可以这样理解:凡传入参数并用了exec的都起不到预编译结果。
老早有现成的非常出色的类似phpmyadmin 这样的 d/b web工具:http://www.codeplex.com/SqlWebAdmin