相关疑难解决方法(0)

JSON:为什么正斜线逃脱了?

这个"逃脱"我的原因.

JSON转义正斜杠,因此哈希{a: "a/b/c"}被序列化为{"a":"a\/b\/c"}而不是{"a":"a/b/c"}.

为什么?

javascript json

354
推荐指数
5
解决办法
17万
查看次数

在脚本标记中嵌入JSON对象

编辑:为了将来参考,我使用非xhtml内容类型定义 <!html>

我正在使用Django创建一个网站,我正在尝试在我的页面中嵌入任意json数据以供客户端javascript代码使用.

让我们说我的json对象是{"foo": "</script>"}.如果我直接嵌入,

<script type='text/javascript'>JSON={"foo": "</script>"};</script>
Run Code Online (Sandbox Code Playgroud)

第一个关闭json对象.(另外,它会使站点容易受到XSS的攻击,因为这个json对象将被动态生成).

如果我使用django的HTML转义函数,结果输出是:

<script type='text/javascript'>JSON={&quot;foo&quot;: &quot;&lt;/script&gt;&quot;};</script> 
Run Code Online (Sandbox Code Playgroud)

并且浏览器无法解释<script>标记.

我在这里的问题是,

  1. 在这种情况下,我认为哪些角色可以逃脱?
  2. 是否有自动方式在Python/Django中执行此操作?

html django json

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

标签 统计

json ×2

django ×1

html ×1

javascript ×1