我知道在将字符串中的值传递给数据库或处理它之前,应始终正确地转义字符串。然而,当我在这段代码中查看emberjs的指南under WRITING HELPERS inside TEMPLATES tab时,引起了一个担忧,
Ember.Handlebars.helper('highlight', function(value, options) {
var escaped = Handlebars.Utils.escapeExpression(value);
return new Handlebars.SafeString('<span class="highlight">' + escaped + '</span>');
});
escapeExpression
(似乎)emberjs和emberjs的默认函数是客户端脚本框架,这意味着可以轻松修改机制如何工作,这样escapeExpression就没有任何意义!真的吗?如果不是这样,为什么?我一直在问自己,如果客户端网站框架实际上可以被客户自己修改,那么它们如何安全地逃脱字符串?
这太麻烦了我。