我正在使用felixge的MySQL节点驱动程序。按照文档
https://github.com/felixge/node-mysql#escaping-query-values
在传递到MySQL之前,应该转义字符串以避免注入attac。我的问题是:在从MySQL加载
之后,数据是否应该以某种方式“未转义”?目前,我遇到数据完整性问题:我从包含换行符的字符串开始。 (使用console.log(string)
打印在控制台中显示换行符)。转义字符串后,它将保存到MySQL数据库中。但是,在将字符串加载回内存后,console.log(string)
会显示转义码\n
而不是换行符。
答案 0 :(得分:4)
在传入MySQL之前避免注入攻击。
这种说法是错误的 首先,由于语法规则,字符串应该被转义,而不是任何注入。 其次,我希望他们也有一些非弦乐的配方。
转义字符串应该是“未转义”(MySQL)
没有。 转义是针对查询,而不是数据库。
显示转义码\ n而不是换行符。
你正在逃避你的字符串两次