清理JSON数据以用作JavaScript对象

时间:2015-06-11 17:50:23

标签: javascript php json security sanitization

我将动态生成JSON文件,然后将其作为emoticons对象传递给SCEditor;这些数据将来自数据库,所以基本上它应该是安全的,但是人们永远不能100%确定。

这就是它的召唤方式:

// Create var to store emoticons
var emoticons = false;

$.getJSON('../../images/emoticons/default/emoticons.json')
.done(function(response) {
    emoticons = response;
    console.log(emoticons);
})
.always(function() {
    // always initialize sceditor
    $(".sceditor").sceditor({
        // Other options.....
        plugins: "bbcode",
        emoticons: emoticons,
    });
});

JSON文件的示例如下:

{
    "dropdown": {
        ":)": "smile.png",
        ":angel:": "angel.png",
        ":angry:": "angry.png",
        "8-)": "cool.png",
        ":'(": "cwy.png",
    }
}

因此,从数据库中提取表情符号代码和文件名。除了逃避双引号之外,还有什么我需要做的吗?虽然这些数据来自数据库,但用户可能会提供代码/文件名。

当我将它们存储在数据库中时,我将使用PHP's strip_tags函数剥离标记。

我想避免将数据转换为html entities,因为它似乎与编辑器不太合适,因为如果你说设置了它,它就不会将表情符号变成编辑器中的表情符号代码为:") - 它将在编辑器中输出为:"),而不是显示笑脸。

编辑:要查看代码的使用示例,请查看SCEditor演示。唯一不同的是演示使用JS文件本身提供的默认代码,我将通过作为选项传递的JSON文件提供。

这里有什么最好的选择?

0 个答案:

没有答案