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