在Firebase(AngularFire)中存储HTML,好主意还是坏主意?

Mic*_*elo 6 html javascript angularjs firebase angularfire

在Firebase(AngularFire)中存储HTML是一个好主意吗?

我有一个网站,我在其中创建一个管理网站,用户可以在其中制作HTML元素.我希望人们保存这些元素以及元素中的顺序和内容.所以我认为将整个HTML存储为字符串并在返回时加载它会容易得多.馊主意?

这是我的(简化):

$scope.save = function() {
    var refState = new Firebase("https://<name>.firebaseio.com/users/" + currentAuth.uid + "/state");
    var html = "<div>hello</div>";
    refState.set({
        "state": html
    }, function(error) {
        if (error) {
            console.log("not been saved")
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

在我的HTML中我检索想要使用Angular这样显示它(是的我现在知道如何在Angular中呈现HTML感谢评论:)

<div class="well col-md-12">
{{sync[3].state}}
</div>
Run Code Online (Sandbox Code Playgroud)

Dyl*_*att 6

在firebase中存储字符串化的HTML并不比将其存储在不同的数据存储区中更糟糕.你会想要考虑XSS问题,包括他们<style>body{display:none}</style>在html中定义的内容.

您是否正在创建一个真正的完整内容创建系统?如果是这样,有时很难摆脱用户定义的HTML,通常来自CKeditor,tinymce等.但是,如果他们正在构建的项目都相似,那么您应该考虑如何在更好的数据中存储/恢复它们格式.大多数情况下,有一种更好的方法来保存和恢复存储直接HTML的用户定义内容.