gpt4 book ai didi

javascript - Backbone.js 和 XSS/HTML 转义

转载 作者:行者123 更新时间:2023-12-03 01:15:00 25 4
gpt4 key购买 nike

我正在构建一个 Backbone.js 应用程序,并且想知道在使用 Backbone.js 时处理 XSS 和 HTML 转义的最佳方法是什么。

在基本Todos example application从 Backbone.js 官方文档来看,数据没有转义。由于此数据在模板中用于呈现待办事项条目,因此可以通过输入以下文本来执行 Javascript 代码(可以在上面的链接中重现):

"><script>alert('xss');</script>

当使用 REST 服务器作为存储后端时,此 XSS 对于每个用户都是持久的。

如何解决这个问题?

我的想法是转义服务器上的数据,因此返回的数据可以安全地在模板中使用。那么我是否必须始终使用 wait: true 来确保不呈现未转义的数据?为了进行编辑,添加另一个带有未转义数据的属性,然后可以使用 .val()?

来填充文本字段。

或者在渲染模板之前,您是否不执行任何操作并转义客户端上的数据?

最佳答案

Todo 示例不是最干净的示例。它使用 underscore's template engine ,如下:

<input class="edit" type="text" value="<%= title %>" />

要正确转义 HTML,请使用 <%-而不是<%= :

<input class="edit" type="text" value="<%- title %>" />

关于javascript - Backbone.js 和 XSS/HTML 转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com