Javascript 车把;“聪明的”;逃跑

Javascript 车把;“聪明的”;逃跑,javascript,escaping,handlebars.js,xss,Javascript,Escaping,Handlebars.js,Xss,是否有任何方法可以为把手转义设置某种设置,从而忽略特定的标记? 或者是否有任何一组助手可以这样做 e、 如果我允许模板中的链接,它将执行以下操作 InputSting=“某些输出警报('THERE')” 模板 {{InputString}} 编译为如下内容: 一些警报(“那里”) 忽略用于保留标记的反斜杠 我试着用这把小提琴: 首先,在InputString中,您需要以稍微不同的方式转义,否则javascript将检测到您的脚本标记并在错误的位置关闭标记: \<script>aler

是否有任何方法可以为把手转义设置某种设置,从而忽略特定的标记? 或者是否有任何一组助手可以这样做

e、 如果我允许模板中的链接,它将执行以下操作

InputSting=“某些输出警报('THERE')”

模板

{{InputString}}

编译为如下内容:

一些警报(“那里”)


忽略用于保留标记的反斜杠

我试着用这把小提琴:

首先,在InputString中,您需要以稍微不同的方式转义,否则javascript将检测到您的脚本标记并在错误的位置关闭标记:

\<script>alert('THERE')\<\/script>
和助手声明:

Handlebars.registerHelper('link', function(text) {
  return new Handlebars.SafeString(text);
});

谢谢Christophe,虽然第一种解决方案不可行,因为我怀疑尝试XSS的人是否会关心逃跑。但是第二条建议给了我一个很好的例子,它能很好地实现我的需求。
Handlebars.registerHelper('link', function(text) {
  return new Handlebars.SafeString(text);
});