【问题标题】:Is masking a sql param always safe when with two single quotes escaping当两个单引号转义时,屏蔽 sql 参数总是安全的
【发布时间】:2016-08-09 07:20:28
【问题描述】:

当我将SQL 字符串中的单引号替换为 2 时,在 Oracle 11g 数据库中屏蔽参数是否安全? (' => '')

类似的东西:

sql = "select * from user where name='" + input.replace("'", "''") + "'";

【问题讨论】:

  • 问题一点都不清楚。请分享一些示例数据和示例,您在做什么?

标签: sql oracle11g escaping


【解决方案1】:

我相信是的!碰木头,否则我们都完蛋了。这是我在 SQL 屏蔽上看到的fullest explanation。显然,易受攻击的是 id 等,因为它们没有被封闭。但是,看在上帝的份上,请使用参数。不要那样构建你的 SQL。

【讨论】:

    【解决方案2】:

    不知道注入,但是...有人可能会使用缺少绑定变量来减慢您的数据库,方法是使用几乎相同的一次性语句填充共享池、强制硬解析等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多