如何从jQuery ajax响应中删除<script>标签?</script>

时间:2012-07-02 13:52:34

标签: javascript jquery html ajax

我正在尝试构建网络RSS阅读器。 Feed在后台下载并保存到数据库中。我想使用jQuery和ajax从这个feed加载新闻,让用户看到所有项目而不刷新网站。

我担心此解决方案的安全性,因为有人可能会在此Feed中走私恶意javascript。我该怎么办,以防止恶意代码?

2 个答案:

答案 0 :(得分:1)

假设你有一个带有responseXML的变量。你所要做的就是:

$(responseXML.querySelectorAll("script")).remove();

答案 1 :(得分:1)

您可以对HTML元字符进行编码:

responseText = responseText.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');

如果有人说他们的名字是“Bob alert('haxd')