导致病毒警告和阻止网站的Javascript

Goo*_*tes -1 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>
Run Code Online (Sandbox Code Playgroud)

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

ssu*_*ube 7

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

像这样混淆目的地和财产访问是完全不必要的,并且通常由恶意软件完成,以使阅读和注意到恶意更加困难.

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

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

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

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

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

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