在Meteor中,如何在显示之前标记一些用户输入的文本?

时间:2014-10-07 11:53:44

标签: meteor markup meteor-blaze html-escape

我有一个带有模板的Meteor 0.8.3应用程序:

<template name="example">
    Description: {{desc}}
</template>

和javascript:

Template.example.desc = function(){
    return Session.get("desc");
}

用户已设置会话desc

我想在显示之前略微标记文字,例如。用<br>替换回车,并添加一些分词符(html代码&#8203;)。

我相信我可以通过模板中的Template.example.desc和三大括号{{{desc}}}中的一些正则表达式替换来实现此目的 - 但是,这为用户将自己的html输入字符串打开了大门,是不安全的。因此,我想让Meteor首先使字符串安全,然后才应用我的标记。

我该怎么办?谢谢!

1 个答案:

答案 0 :(得分:1)

{{{desc}}}是要走的路。 我不认为这是一个安全错误,因为你只能改变你自己的Session&#34; desc&#34;。 如果您正在讨论保存在数据库中并向所有用户显示的变量,则在发送回客户端之前,服务器端检查或使用您的标记包装变量将更合适。