相关疑难解决方法(0)

在脚本标记中嵌入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万
查看次数

在客户端JavaScript(nunjucks)中访问Express.js局部变量

除了我使用nunjucks作为模板引擎之外,此问题基本相同.

我使用express的render方法将变量传递给nunjucks模板:

res.render('template.html', {myObject:myObject})
Run Code Online (Sandbox Code Playgroud)

我想在我的客户端javascript中访问它.到目前为止,我想出的唯一方法是将它放在一个不可见的HTML元素中,并从那里将其拉入javascript:

<span id='local-variable' style="display:none">{{ myObject.name }}</span>

<script>
    var myObjectName = $('#local-variable').text();
</script>
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

node.js express nunjucks

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

标签 统计

django ×1

express ×1

html ×1

json ×1

node.js ×1

nunjucks ×1