使用单个修剪功能是不是可以解决 sql 注入?

Posted

技术标签:

【中文标题】使用单个修剪功能是不是可以解决 sql 注入?【英文标题】:Does using a single trim function solve sql injection?使用单个修剪功能是否可以解决 sql 注入? 【发布时间】:2015-05-15 02:10:56 【问题描述】:

trim函数既然去掉了空格,是否解决了sql注入的问题?如果没有,请有人发布示例。

【问题讨论】:

请谷歌“SQL注入示例” 为什么你认为空格和SQL注入有关? 绝对不是。它只删除前导和尾随空格。 我想不出任何机智的答案。哦,等等…… @ChenErnest 你能举个例子说明修剪将如何防止SQL注入? 【参考方案1】:

不,添加修剪不会阻止 sql 注入。 trim 只删除字符串外部的空格。

Select * from aTable where name like '%'+@SearchString+'%'

如果你 @SearchString 持有类似

的东西
'' update aTable set someColumn='JackedUpValue' where someColumn like '

然后当你把它们放在一起并动态执行它时,你会得到

Select * from aTable where name like '%' update aTable set someColumn='JackedUpValue' where someColumn like '%'

您可以修剪 @SearchString 100 次,而根本不改变它的值。

【讨论】:

【参考方案2】:

为了避免 Sql 注入,请使用以下内容:

    准备报表 存储过程

您的应用程序将非常安全。

更详细的专家分析搜索google。 这是一个让你开始的链接Sql Injection Prevention

【讨论】:

以上是关于使用单个修剪功能是不是可以解决 sql 注入?的主要内容,如果未能解决你的问题,请参考以下文章

jfinal_sql注入问题解决

站点SQL注入问题分析及解决

SQL注入的一些示例及解决SQL注入的方法

php中防止SQL注入,该如何解决?

ASP网站被扫描有注入点,该怎么办?如何解决!

如何彻底防止SQL注入?