我试图使该语句免受插入特殊字符的影响。我如何重新格式化查询来处理这个问题,例如变量类型的值为“Women’s”?然而,我知道参数化查询是可行的方法;现在这不是一个选择。
var sqlStatement = "SELECT DISTINCT DN FROM tbl1 WHERE Media LIKE "+ media + "% AND Type = " + type + "";
最佳答案
这里最好的资源是 OWASP(查看 SQL Injection Prevention 备忘单)。我觉得有必要重申,您最好的选择是按以下顺序尝试解决方案:
- 准备好的声明
- 存储过程
- 转义用户提供的输入
如果您绝对要转义 SQL Server 查询,您可以引用 This MSDN Article ,特别是转义输入部分。如果您可以通过实现 White List 进一步验证用户输入,一切都更好!
关于javascript - 使用变量处理字符串sql查询中的单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12783144/