好吧,假设我有一个 jQuery 函数...它是一个 AJAX Post...成功后我会这样做
$("#title"+id).html(Z);
Z 是 var Z=$("#"+X+" textarea.editAnswer").val();
.
但是,如果我在文本区域中输入类似 <script>alert('Test');</script>
的内容然后按保存...它将保存它并弹出测试警报。那么...我该如何解决这个问题?
最佳答案
这是代码注入(inject),应该用 HTML 编码来避免。
或者:
- 从服务器返回 HTML 编码结果(在您保存后)并将其填充到您的
#title
元素或 - 使用
escape()
Javascript 函数在客户端对其进行编码,并将结果填充到您的#title
元素中
根据具体情况,您应该始终使用让用户更难破解的方案。我建议您使用服务器端方法,因为用户将无法覆盖您的自定义 javascript 函数并解决他们自己扭曲的议程...
关于javascript - 关于 jQuery 更改...使用 .html();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657253/