Node.js / Javascript等效于mysql_real_escape_string()

时间:2017-09-13 02:00:48

标签: javascript sql-server node.js sql-injection

我需要创建一个JavaScript字符串,它传递给Node.js,对MSSQL友好。

这个问题:Making a javascript string sql friendly有一个很好的答案,解释了如何为MySQL转义字符串:

归功于Paul D'Aoust

function mysql_real_escape_string (str) {
    return str.replace(/[\0\x08\x09\x1a\n\r"'\\\%]/g, function (char) {
        switch (char) {
            case "\0":
                return "\\0";
            case "\x08":
                return "\\b";
            case "\x09":
                return "\\t";
            case "\x1a":
                return "\\z";
            case "\n":
                return "\\n";
            case "\r":
                return "\\r";
            case "\"":
            case "'":
            case "\\":
            case "%":
                return "\\"+char; // prepends a backslash to backslash, percent,
                                  // and double/single quotes
        }
    });
}

我需要为 MSSQL 实现完全相同的事情。

我花了最后一小时(可能更长)寻找答案但是,互联网上似乎没有很多文档可以解释如何做到这一点。 official mssql package documentation只提到了准备好的陈述,但是我希望找到一种方法来做到这一点,而无需准备好陈述。

0 个答案:

没有答案