首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL注入威胁?

SQL注入威胁?
EN

Stack Overflow用户
提问于 2016-04-06 04:07:47
回答 1查看 239关注 0票数 0

下面的代码是否受到SQL注入的影响,如果是,请提供任何修复建议。谢谢

代码语言:javascript
复制
def Function(x: Int, y: Int) = {
  var query = s"SELECT * FROM table LIMIT $x, $y"
}
EN

回答 1

Stack Overflow用户

发布于 2016-04-06 05:05:22

SQL: On reflection,我刚刚意识到,因为这是一个LIMIT字段,而且Int.MAX_INT非常高,我会将其视为一个潜在的安全问题,尽管可能不是确切的注入。这是因为,如果输入数据来自不受信任的来源,调用者可能会导致数据库执行比预期多得多的工作。

传递给LIMIT的值应该被验证在预期的合理范围内,我也会考虑使用PreparedStatement

因为传递给函数的类型是Int类型,所以Scala的类型系统的类型安全性意味着这些类型被保证为Integer值。因此,不能将任意SQL注入到SQL中,因此我不认为这会受到SQL注入的影响。

然而,除了安全性之外,使用带有参数标记的PreparedStatement更好,例如性能,所以切换到使用PreparedStatement或其他具有在PreparedStatement上抽象的特性的SQL库在这里会很有用。

请注意,Java JDBC API (包括PreparedStatement )在Scala中可用,因此可以使用,并且可以使用许多特定于Scala的库,这些库在原始的JDBC API上进行抽象。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36436043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档