【发布时间】:2012-01-18 23:17:01
【问题描述】:
我有一个字符串数组。当我使用 .toString() 输出它时,引号不会保留。这使得使用“in”构建 mysql 查询变得困难。考虑以下几点:
SELECT * FROM Table WHERE column IN ('item1','item2','item3','item4')
toString is returning: IN (item1,item2,item3,item4)
我在这里忽略了一个简单的修复。
【问题讨论】:
-
您正在用 JavaScript 准备 MySQL 查询? ... mmm ... SQL 注入
-
你在使用服务器端的javascript吗?
-
是的,除非这只是一个快速原型,否则您应该知道在客户端上形成 SQL 本质上是让任何人都可以完全访问您的数据库。不管是不是通过HTTPs,用户都可以打开调试器并注入。
-
很抱歉破坏了您对 sql 注入的乐趣。我有一个内部全文搜索堆栈,它返回给我需要在 mysql 中查找的记录索引。 Node_Mysql 有一个错误,该错误会阻止正确传入数组,因此我正在寻找解决方法。我最终找到了一个尚未进入核心的补丁:github.com/felixge/node-mysql/issues/126
标签: javascript arrays node.js