我正在尋找正確的方式來鏈接一個字符串塊與MeteorJS。 目標是防止XSS漏洞,但也保持活性。MeteorJS鏈接的內容
我目前正在與MeteorJS建立聊天室。我的模板中的每條消息都可以編輯。我已經嘗試了thoses解決方案:
1- Linkify DOM節點擁有各種jQuery插件/ custon正則表達式replace()
函數。問題是onRendered
回調被觸發一次,因此更新的消息將不會再次鏈接。從輔助程序返回鏈接的HTML內容 。問題在於它將應用程序暴露給XSS漏洞,並且在進行消毒處理時,可能會丟失一些文本(我希望保留整個文本,以便將文本顯示爲例如HTML代碼) 3-使用了聲明中的自動運行聲明onRendered
回調與Template.currentData()
被動依賴關係。它確保每次更新消息都會鏈接DOM節點,但問題是使用jQuery手動添加的舊內容將保留在節點中。
那麼,有沒有一種方法可以確保反應性,還可以保留整個文本。這裏的目標是允許人們通過消息將文本作爲文本發送。流星Spacebars已經開始使用雙花括號{{}}
來預先設定基本的XSS。
感謝,
將
降價是一種選擇嗎? –
那麼如果它適合我的需要,它可能是一個選項。我正在考慮在未來增加一些文字裝飾的功能。您能否根據我的需求擴大您的想法? –
'markdown'流星包會自動鏈接任何網址並允許格式化。使用它就像把你的財產包裝在一個spacebars包裝中一樣簡單''{{#markdown}} {{comment}} {{/ markdown}}' –