Javascript导致病毒警告并阻止网站

时间:2015-07-02 15:48:50

标签: javascript php

我有一个简短的url脚本并且已经测试了执行重定向的各种方法...一种方法包括将访问者重定向到一个小的JS片段,然后将它们转发到所需的网页。然而卡巴斯基病毒扫描程序正在将其作为木马HEUR:Trojan-Downloader.Script.Generic,它说“下载已被阻止”。

我在第三方网站上看到过这种方法,但效果很好。

我很困惑,为什么说下载在下载时被阻止了。标头设置为text/html;charset=UTF-8

<script>
   var u='http:\/\/domain.co.uk\/r\/short&sc=1';
   var l='loca' + 'tion'
   window[l].replace(u);
</script>

为什么这个JS会引发病毒警告?有没有办法阻止它?

1 个答案:

答案 0 :(得分:7)

因为你把它写成看起来像病毒。

对这样的目标和属性访问进行模糊处理是完全没有必要的,通常由恶意软件完成,以使阅读和注意恶意更加困难。

只需使用window.location.href = 'http://domain.co.uk/r/short&sc=1';,您应该处于更好的位置。

模糊这一点没有任何好处,因为用户无论如何都会知道他们被重定向到哪里。您不需要为location属性使用字符串访问器(btw,is actually read-only)或转义正斜杠。

如果您要将用户重定向到此脚本,它实际上无法正常工作,因为您需要一个页面包装它。您可以通过将重定向替换为直接重定向到目的地(明智且相当简单)或调用代码段的函数来解决这个问题:

<button onclick="redirect();">Forward Me!</button>

function redirect() {
  window.location.href = 'http://domain.co.uk/r/short&sc=1';
}

您还可以在Apache或Nginx配置中使用某种服务器端重定向,这样可以很好地处理点击跟踪和负载平衡。