JS:如何从字符串末尾删除不需要的代码?

时间:2010-01-01 20:48:02

标签: javascript ajax string

我的大多数脚本用户所在的主持人强制在每个页面的末尾添加文字广告。这段代码隐藏在我脚本的AJAX响应中。这是一个HTML评论,后面是他们注册页面的链接。如何从我的AJAX响应结束时删除此注释和链接?

3 个答案:

答案 0 :(得分:1)

通常,这些脚本基本上会查找text / html内容,只需将代码推送到流中即可。您是否尝试将内容类型设置为其他内容,例如text / json,text / javascript,text / plain,并查看它是否在没有注入的情况下通过?

答案 1 :(得分:0)

正则表达式

我的第一个建议是找到一个可以匹配并消除该尾随信息的正则表达式。我不是写正则表达式的最好的人,但这是一次尝试:

var response = "I am the data you want. <strong>And nothing more</strong> <!-- haha -> <a href='google.com'>Sucker!</a>";
var myStuff = response.replace("/\s+?<!--.*>$/gi", "");

自定义爆炸字符串

一个简单快捷的解决方案是在邮件末尾放置一个字符串(“spl0de!”),然后在其上拆分ajax响应,并只处理它之前的那个。

var myStuff = response.split("spl0de!")[0];

这会删除任何其他人潜入数据末尾的内容。

答案 2 :(得分:0)

你用手工生成的xml看到很多这个,它是无效的,所以消费者尝试用手动正则表达式来修复破碎的xml - 这完全是错误的方法。 你需要在源头,破碎的主机上解决这个问题。