在视图中转义变量?

Posted

技术标签:

【中文标题】在视图中转义变量?【英文标题】:Escaping Variables in View? 【发布时间】:2013-04-15 01:24:01 【问题描述】:

我想知道如何在我的 Node.js 项目中转义视图中的变量。

例如,我的 .jade 视图文件中的 #name 似乎容易受到 SQL 注入或 XSS 的攻击。有没有解决这个问题的标准方法?我知道在 ruby​​ 中我会做 例如...

【问题讨论】:

IIRC,Jade 默认转义。 是的,jade 默认会转义,如果不想转义,请使用 !。 【参考方案1】:
Actually want # for some reason? escape it!

p \#something
now we have <p>#something</p>

We can also utilize the unescaped variant !html, so the following will result in a literal script tag:

- var html = "<script></script>"
| !html

来自https://github.com/visionmedia/jade#readme

【讨论】:

我明白了。那么(消息是一个变量)之间有什么区别: p= message p #message 变量 message 和 #message 是相同的,它只是取决于你在哪里/如何使用它们。下面的文章帮了我***.com/questions/14709560/…

以上是关于在视图中转义变量?的主要内容,如果未能解决你的问题,请参考以下文章

python在转义的JSON字符串中使用变量

java怎么把关键字转义为变量字符

在空手道 DSL 中,如何在 java 参数调用中传递变量时转义单引号

juicer模板引擎使用记录.md

Linux Gvim shell 替换:变量替换,命令替换,转义字符

PostgreSQL 函数中的 psql 变量是不是有任何转义语法?