0

我想允许最终用户通过允许他们指定一个模板字符串来进行一些自定义,该模板字符串在填充了用户可访问变量的对象的上下文中进行评估。但是,我看到有人对此表示担忧。我只需要让用户访问定义值的打印。允许他们调用代码是不必要的,只会给一个小功能增加太多的复杂性。

我需要的唯一功能的伪代码:

var userTemplate = "{{Persons.Total}} persons including {{Persons.First}}";
var variables = { Persons { Total: 10, First: "Bob" } };
return template(userTemplate, variables); // = "10 persons including Bob"

是否有任何“用户安全”的模板库?还是我应该自己用一堆正则表达式来做?

4

2 回答 2

0

OWASP XSS 预防备忘单包含许多用于清理用户输入的规则,以防止跨站点脚本(也称为 javascript 注入)。

Rule6 特别有趣,因为它讨论了使用 HTML 策略引擎以出站方式验证或清理用户驱动的 HTML。

于 2012-05-30T15:11:27.333 回答
0

你真的需要一堆正则表达式吗?在您的简单情况下,只需检查是否没有标签就足够了:

regex=/<[\s\S]+>/
于 2012-05-30T16:04:49.187 回答