我有一个简短的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会引发病毒警告?有没有办法防止它?
因为你把它写成看起来像病毒.
像这样混淆目的地和财产访问是完全不必要的,并且通常由恶意软件完成,以使阅读和注意到恶意更加困难.
只是使用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配置中使用某种类型的服务器端重定向,这样可以很好地处理点击跟踪和负载平衡.
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |