相关疑难解决方法(0)

如何在HTML的脚本标记中插入任意JSON

我想在脚本标记内的HTML文档源中存储JSON的内容.

该JSON的内容确实取决于用户提交的输入,因此需要非常小心地为XSS清理该字符串.

我在这里读了两个概念.

1.将所有出现的</script标记<\/script替换</<\/服务器端,或将所有标记替换为服务器端.

代码方面它看起来如下(使用Python和jinja2作为示例):

// view
data = {
    'test': 'asdas</script><b>as\'da</b><b>as"da</b>',
}

context_dict = {
    'data_json': json.dumps(data, ensure_ascii=False).replace('</script', r'<\/script'),
}

// template
<script>
    var data_json = {{ data_json | safe }};
</script>

// js
access it simply as window.data_json object
Run Code Online (Sandbox Code Playgroud)

2.将数据编码为HTML实体编码的JSON字符串,unescape +在客户端解析它.Unescape来自这个答案:https://stackoverflow.com/a/34064434/518169

// view
context_dict = {
    'data_json': json.dumps(data, ensure_ascii=False),
}

// template
<script>
    var data_json = '{{ data_json }}'; // encoded into HTML entities, like &lt; &gt; …
Run Code Online (Sandbox Code Playgroud)

html javascript python xss json

11
推荐指数
2
解决办法
1139
查看次数

HTML属性值的最大长度

我怎么知道元素属性值的最大长度是多少?

例如

<div id="value1..."></div>
Run Code Online (Sandbox Code Playgroud)

此div的ID属性的最大允许长度是多少,以及任何元素的任何其他属性?

html

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

html ×2

javascript ×1

json ×1

python ×1

xss ×1