【问题标题】:Does using a single trim function solve sql injection?使用单个修剪功能是否可以解决 sql 注入?
【发布时间】:2026-01-23 02:40:02
【问题描述】:

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

【问题讨论】:

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

标签: sql sql-injection


【解决方案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 注入,请使用以下内容:

    1. 准备报表
    2. 存储过程

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

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

    【讨论】: