3

我正在使用 felixge 的 MySQL 节点驱动程序。遵循文档

https://github.com/felixge/node-mysql#escaping-query-values

字符串在传递到 MySQL之前应该被转义以避免注入攻击。

我的问题是:从 MySQL 加载数据是否应该以某种方式“未转义” ?

目前,我遇到了数据完整性问题:我从一个包含换行符的字符串开始。(打印console.log(string)在控制台中显示换行符)。转义字符串后,将其保存到 MySQL 数据库中。但是,在将字符串加载回内存后,a 会console.log(string)显示转义码\n而不是换行符。

4

1 回答 1

4

之前传入 MySQL 以避免注入攻击。

这种说法是错误的。
首先,字符串应该因为语法规则而被转义,而不是任何注入。其次,我希望他们也有一些非弦乐的配方。

转义字符串是否应该“未转义”(MySQL)

不,转义是为了查询,而不是数据库。

显示转义码 \n 而不是换行符。

然后你两次转义你的字符串

于 2013-10-04T17:42:49.227 回答