【发布时间】:2012-03-30 07:12:05
【问题描述】:
当我想知道我应该构建多复杂的查询时,我刚刚阅读了this question。
到目前为止,我只是使用StringBuilder 构建了一个字符串,因为在这个应用程序中只使用了选择、更新、插入和删除。现在我也想知道正确的转义,当我问自己时,为什么转义不仅仅是将那些标志' 转义到这个\'。
转义背后是否有更复杂的行为,或者这是否完整?
感谢您的意见!
【问题讨论】:
当我想知道我应该构建多复杂的查询时,我刚刚阅读了this question。
到目前为止,我只是使用StringBuilder 构建了一个字符串,因为在这个应用程序中只使用了选择、更新、插入和删除。现在我也想知道正确的转义,当我问自己时,为什么转义不仅仅是将那些标志' 转义到这个\'。
转义背后是否有更复杂的行为,或者这是否完整?
感谢您的意见!
【问题讨论】:
字符串构建的 SQL 是个坏主意,因为它使您容易受到 SQL 注入攻击。
如果您可以将查询放入存储过程并参数化您的输入值。
有关 SQL 注入攻击以及如何防止它们的信息,请参阅开放 Web 应用程序安全项目网站:
https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet
【讨论】: