有没有办法让一个 JavaScript 字符串传递给 NodeJS 对 MySQL 友好?我正在尝试将电子邮件地址传递给我的 NodeJS 服务器并查询 MySQL 数据库。在处理诸如用户名之类的常规文本时可以正常工作,但电子邮件地址却不行。显然使用转义不是正确的答案,因为它不适用于 SQL 插入。我假设我需要 PHP 函数 mysql_real_escape_string()
的行。
原文由 Bobby 发布,翻译遵循 CC BY-SA 4.0 许可协议
有没有办法让一个 JavaScript 字符串传递给 NodeJS 对 MySQL 友好?我正在尝试将电子邮件地址传递给我的 NodeJS 服务器并查询 MySQL 数据库。在处理诸如用户名之类的常规文本时可以正常工作,但电子邮件地址却不行。显然使用转义不是正确的答案,因为它不适用于 SQL 插入。我假设我需要 PHP 函数 mysql_real_escape_string()
的行。
原文由 Bobby 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是在 JavaScript 代码中编写 SQL 查询的简单方法
常量查询 = INSERT INTO users (firstName, lastName) VALUES ( "${firstName}", "${lastName}")
原文由 Priyansh sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
事实证明 mysql_real_escape_string() 非常简单。 根据文档:
听起来很简单,实际上。你可以这样做:
注意:我没有通过任何类型的单元测试或安全测试来运行它,但它似乎确实有效——而且,作为一个额外的好处,它转义了制表符、退格和“%”,因此它也可以使用在 LIKE 查询中,根据 OWASP 的建议(与 PHP 原版不同)。
我确实知道
mysql_real_escape_string()
可以识别字符集,但我不确定这会带来什么好处。在这里 对这些问题进行了很好的讨论。