Articles of 转义

node-mysql在查询中使用数组

我试图做一个查询使用数组,但有一个parsing错误。 一个 – 包含一个数组 例如:[7,26,87,65,86,23,63,69,44,61,8,79,47,88,15,17] conexao_bd.escape(a) – 转义数组 例如:7,26,87,65,86,23,63,69,44,61,8,79,47,88,15,17 它需要采用这种格式(7,26,87,65,86,23,63,69,44,61,8,79,47,88,15,17),所以我可以在查询中使用它。 任何帮助如何更改格式? 码 conexao_bd.query("SELECT question, answer FROM ", conexao_bd.escape(tipo) + " WHERE id IN " + conexao_bd.escape(a) ,function(err, rows){ if(err) console.log("Erro na query questions: "+err); else{ perguntas.questions.push(rows); console.log(JSON.stringify(perguntas)); } });

在Javascript中转义错误信息

我在我的程序中有这个代码: res.send('<html><script>window.opener.alert("' + message + '");window.close();</script></html>'); 现在… message是我不能真正预测的东西,虽然它确实从一个已build立的API中回来,它应该是可以的。 但是,“应该”还不够好。 我意识到我必须逃脱任何" (或者它会打破string),但是… 我需要逃避什么吗? 是否有准备好的function呢?

在节点oracledb中防止SQL注入

node-oracledb是否逃避/清理查询? 它通过绑定参数化查询: connection.execute( "INSERT INTO countries VALUES (:country_id, :country_name)", [90, "Tonga"], function(err, result) { if (err) console.error(err.message); else console.log("Rows inserted " + result.rowsAffected); }); 我查看了文档,并通过源代码快速准备好了,但是没有任何地方也没有表明它逃避了查询。 如果没有,我正在考虑在传递给connection.execute方法之前,使用node-mysql以及用户input和查询的丰富谓词的组合。

Node.js:执行unix命令时转义空格

我使用这个命令来压缩node.js中的文件: var command = '7z a ' + dest + ' ' + orig; exec( command, function(err, stdout, stderr) { …}); 问题来了,当一个文件有7z a my vacation.zip my vacation.pdf空间7z a my vacation.zip my vacation.pdf 我怎么能逃避dest和orig?

应该逃脱的string是“非转义”(MySQL,Node.js)?

我正在通过felixge与MySQL的节点驱动程序。 在文档之后 https://github.com/felixge/node-mysql#escaping-query-values 在传入MySQL 之前,string应该被转义以避免注入攻击。 我的问题是:从MySQL加载后,数据应该以某种方式“未转义”? 目前,我有一个数据完整性的问题:我从一个包含换行符的string开始。 (用console.log(string)打印在console.log(string)显示换行符)。 转义string后,它被保存到一个MySQL数据库。 但是,在将string加载回内存后, console.log(string)显示转义码\n而不是换行符。

npm代理设置转义'\'字符

我在公司代理后面,我需要将设置设置为npm。 唯一的问题是我的用户名包含一个\字符。 代理设置应如下所示: http://PREFIX\username:password@proxy.company.com:port但最终结果如下所示: http://prefix/username:password@proxy.company.com:port这是完全错误的。 将%5C而不是\不起作用。 也不把用户名和密码,或整个url在"" 。 我知道这个问题已经被问了很多次了,但是没有一个解决scheme为我做了。 我在一台Windows机器上。 如果您有任何build议,我将不胜感激。

String.replace与/和\在Nodejs不同于在Chrome中?

我试图在Nodejs中做一个路由器。 其中很大一部分是URI -> action ,所以我需要一个简单的可configuration的URI列表,并将它们正则expression为正则expression式以匹配请求URI。 简单! 我已经用PHP一百万次了。 给或拿。 所以这就是我所做的(testing): > uri = '/users/#/status/*' > uri.replace(/\//g, '\\/').replace(/#/g, '(\d+)').replace(/\*/g, '([^/]+)') 我正在做的是1)转义/和2)用\d+replace#和3)用[^/]+replace* 在Chrome中,按预期工作: < \/users\/(d+)\/status\/([^/]+) 转义/并正确replace#和* 。 这是V8。 在Nodejs中: < \\/users\\/(d+)\\/status\\/([^/]+) 阙!? 每一个都被加倍逃脱? 我要么加倍逃脱/要么逃脱/ 。 正则expression式是正确的,对吧? 我使用的是Chrome 15 dev(V8 javascript)和Node 0.5.8 dev(V8 javascript)。 这里发生了什么? 潜在的有趣 如果我testing/^\/users\/(\d+)\/status\/([^/]+)/.test('/users/1/status/x')它会在Chrome和Node中都返回true。

讨厌和怪异的正则expression式问题:'io \'。 得到一个匹配的单词“function”

从节点REPL的东西, > 'function'.search('io\.') 5 我真的需要它只匹配“io”。 而不是“function”或任何与“io”在中间的东西… 更奇怪的事情: > 'io'.search('io\.') -1 > 'ion'.search('io\.') 0 所以看来我不是逃避点字符..? 但我与“\”…对不对? 我在http://www.regextester.com/和http://regexpal.com/上都testing过,它的工作原理是我认为它应该可以工作的。 我究竟做错了什么 ? 在node.js中的正则expression式的东西有点不同,然后我习惯了吗? 编辑1:在谷歌浏览器的JavaScript控制台我也可以 'function'.search('io\.') 5 所以这可能是一个V8的事情…对不对? 编辑2:我从Firefox的JavaScript控制台得到相同的结果,所以它不是一个V8的事情…这里发生了什么? 我真的很困惑

NodeJS Express对URL进行编码 – 如何解码

我用Express来使用NodeJS,当我在URL中使用外部字符时,它们自动被编码。 我如何解码回原来的string? 在调用NodeJS之前,我转义字符。 所以string: אובמה 成为%u05D0%u05D5%u05D1%u05DE%u05D4 现在整个URL如下所示: http://localhost:32323/?query=%u05D0%u05D5%u05D1%u05DE%u05D4 现在在我的NodeJS中,我得到了转义string%u05D0%u05D5%u05D1%u05DE%u05D4 。 这是相关的代码: var url_parts = url.parse(req.url, true); var params = url_parts.query; var query = params.query; // '%u05D0%u05D5%u05D1%u05DE%u05D4' 我试过url和querystring库,但似乎没有适合我的情况。 querystring.unescape(query); // still '%u05D0%u05D5%u05D1%u05DE%u05D4'

如何在nodejs中转义字符?

我想知道你将如何逃避nodejs中的特殊字符。 我有一个string$ what $ ever $,我需要它逃脱像\ $什么\ $ ever \ $之前,我与它调用一个python脚本。 我累了querystring NPM包,但它做了别的。 谢谢!