【发布时间】:2017-08-10 19:54:46
【问题描述】:
假设我的 html 文档中有以下脚本标记:
<script type="application/json" id="stuff">
{
"unicorns": "awesome",
"abc": [1, 2, 3]
}
</script>
我正在我的应用程序中解析这个 JSON。有人告诉我...
这种在脚本标签中嵌入 json 的方法存在潜在的安全问题。假设 json 数据来自用户输入,则可以制作一个数据成员,该成员实际上会脱离脚本标签并允许直接注入 dom。见这里:
<script type="application/json" id="stuff">
{
"unicorns": "awesome",
"abc": [1, 2, 3],
"badentry": "blah </script><div id='baddiv'>I should not exist.</div><script type="application/json" id='stuff'> ",
}
</script>
我需要在脚本标签中嵌入 JSON,但我不知道该怎么做,以免泄露安全漏洞。
感谢您的帮助。
【问题讨论】:
-
当您在客户端使用javascript时,我认为没有办法阻止数据。尝试使用后端移动安全信息,如用户 ID
标签: javascript json reactjs xss server-side-rendering