【问题标题】:What rules does SQL escaping follow?SQL转义遵循什么规则?
【发布时间】:2012-03-30 07:12:05
【问题描述】:

当我想知道我应该构建多复杂的查询时,我刚刚阅读了this question

到目前为止,我只是使用StringBuilder 构建了一个字符串,因为在这个应用程序中只使用了选择、更新、插入和删除。现在我也想知道正确的转义,当我问自己时,为什么转义不仅仅是将那些标志' 转义到这个\'

转义背后是否有更复杂的行为,或者这是否完整?

感谢您的意见!

【问题讨论】:

    标签: java sql escaping


    【解决方案1】:

    字符串构建的 SQL 是个坏主意,因为它使您容易受到 SQL 注入攻击。

    如果您可以将查询放入存储过程并参数化您的输入值。

    有关 SQL 注入攻击以及如何防止它们的信息,请参阅开放 Web 应用程序安全项目网站:

    https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet

    【讨论】:

    • +1 这对性能也很不利,而存储过程的查询计划很容易被重用。
    猜你喜欢
    • 2016-10-04
    • 2013-12-04
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多