MeteorJS 链接内容
MeteorJS linkify content
我正在寻找将字符串块与 MeteorJS 链接的正确方法。
目标是防止 XSS 漏洞,同时保持反应性。
我目前正在与 MeteorJS 聊天。我模板中的每条消息都可以编辑。我已经尝试过这些解决方案:
1- Linkify DOM 节点具有各种 jQuery plugins/custon 正则表达式 replace()
功能。问题是 onRendered
回调被触发一次,所以更新的消息不会再次链接。
2- Return 链接了来自助手的 HTML 内容。问题是它使应用程序暴露于 XSS 漏洞,并且通过清理过程,一些文本可能会丢失(我想保留整个文本,例如将 HTML 代码显示为文本)
3- 使用在 onRendered
回调中声明的自动运行计算与 Template.currentData()
反应依赖。它确保 DOM 节点将在每次消息更新时链接,但问题是使用 jQuery 手动添加的旧内容将保留在节点中。
那么,有没有一种方法既能确保反应性又能使整个文本保持原样。这里的目标是允许人们通过消息将代码作为文本发送。 Meteor Spacebars 已经用双花括号符号 {{}}
.
预防了基本的 XSS
谢谢,
会
好的,看来 https://github.com/chuangbo/meteor-marked 是个不错的选择。它处理裸链接。
我正在寻找将字符串块与 MeteorJS 链接的正确方法。 目标是防止 XSS 漏洞,同时保持反应性。
我目前正在与 MeteorJS 聊天。我模板中的每条消息都可以编辑。我已经尝试过这些解决方案:
1- Linkify DOM 节点具有各种 jQuery plugins/custon 正则表达式 replace()
功能。问题是 onRendered
回调被触发一次,所以更新的消息不会再次链接。
2- Return 链接了来自助手的 HTML 内容。问题是它使应用程序暴露于 XSS 漏洞,并且通过清理过程,一些文本可能会丢失(我想保留整个文本,例如将 HTML 代码显示为文本)
3- 使用在 onRendered
回调中声明的自动运行计算与 Template.currentData()
反应依赖。它确保 DOM 节点将在每次消息更新时链接,但问题是使用 jQuery 手动添加的旧内容将保留在节点中。
那么,有没有一种方法既能确保反应性又能使整个文本保持原样。这里的目标是允许人们通过消息将代码作为文本发送。 Meteor Spacebars 已经用双花括号符号 {{}}
.
谢谢,
会
好的,看来 https://github.com/chuangbo/meteor-marked 是个不错的选择。它处理裸链接。