0

有谁知道为什么这样的事情:

<a href="#" onClick="javascript_foo_function(1,'foo',34); return false;">

导致大多数防病毒软件(例如 McAfee mcshield.exe)失控?他们希望防止的漏洞是什么?许多程序(mcafee 和 norton)会进行一些疯狂的计算,这些计算似乎会随着链接数量的增加而呈指数增长,一个页面上的几百个链接可能会在页面可用前 2 分钟产生。我想知道他们在做什么?

一旦我将它们更改为<A href="javascript:javascript_foo_function(1,'foo',34);">防病毒软件就没有问题并且不会导致 CPU 使用率过高。

4

1 回答 1

0

我不知道为什么病毒扫描程序会以这种方式做出反应,但提供一种可能的解决方法:尝试不onclick直接使用,而是在外部 JS 文件中定义事件。也许这会通过而不会触发任何“守卫”机制似乎认为这是可疑的。

HTML:

<a href="#" id="link_1">

在您嵌入文档末尾的单独 JS 文件中:

document.getElementById("link_1").onclick = function() { 
 javascript_foo_function(1,'foo',34); 
 return false;
}

现在,如果病毒扫描程序认为他们在这里遇到了真正的问题,并且如果他们很聪明,他们就不会被这个愚弄。但是我在一句话中使用“Norton”和“Smart”时遇到了麻烦,而且显然首先没有安全问题,所以它也可以工作。试试看。

于 2012-01-12T16:25:19.610 回答