gpt4 book ai didi

javascript - 阻止恶意推荐网站

转载 作者:行者123 更新时间:2023-12-02 05:06:03 24 4
gpt4 key购买 nike

我的网站从带有恶意 javascript 的网站获得大量流量(见下文)

我不完全理解其目的,但我认为其想法是利用我网站的高流量并操纵他们自己的流量统计数据。

我尝试使用 .htaccess 阻止引荐 URL(它们是虚假的 blogspot 站点),但没有奏效。有没有其他方法可以摆脱这种垃圾流量?我的站点在专用服务器上运行,因此如果除了 .htaccess(如此处建议的 http://www.javascriptkit.com/howto/htaccess14.shtml )之外还有什么我可以做的,请告诉我。

这是恶意代码:

<script type="text/javascript">
var sLocation = document.referrer.toLocaleLowerCase();
//Links to boost
var rDomains = ["http://site.com/"];
//Allowed domain referrer
var aDomains = [".com"];
var valid = 0;

//Valid referrer
for (i=0;i<aDomains.length;i++) {
//Check referrer
if (sLocation.indexOf(aDomains[i], 0) > -1)
{
valid = 1;
break;
}
}

//Valid referrer
if (valid == 1)
{
//Loop
for (i=0;i<rDomains.length;i++) {
//alert(rDomains[i]);
invisibleWindow("mydiv" + i,rDomains[i]);
}
}

function invisibleWindow(iframeID, url) {
divel = document.createElement("div");
divel.id = "div" + iframeID;
divel.style.width = "5px";
divel.style.height = "5px";
divel.style.visibility = "hidden";

//Add div
document.body.appendChild(divel);

domiframe = document.createElement("iframe");
domiframe.id = iframeID;
domiframe.src = url;
domiframe.style.width = "5px";
domiframe.style.height = "5px";
domiframe.style.visibility = "hidden";

var divid = document.getElementById("div" + iframeID);
divid.appendChild(domiframe);
}

</script>

这大概是代码作者写的:

http://seotipsnewbie.blogspot.com/2011/12/script-to-get-unlimited-traffic-for.html

最佳答案

如果您知道这些尝试性攻击源自的引荐来源网址(您似乎知道),您可能会通过简单地引导来自该引荐来源网址的流量来阻止访问。

然而,使用 JavaScript 执行此操作并不是特别可靠,因为它们可以简单地关闭 JavaScript。或者不要在来自他们自己的网站时攻击您的网站(没有引荐来源网址)。

var block = ['url1', 'url2'];
for (var b = block.length; b--;) {
if (document.referrer.match(block[b]))
window.location = "http://google.com/";
}

用服务器端语言做这件事会更可靠一些,尤其是当你可以收集有问题的 ip 地址并基于它而不是 refferer url 进行阻止时,我必须说我不太相信作为解决方案。更好的方法是使用前面提到的防火墙并完全阻止对服务器的访问。

在 PHP 中,如果我没记错的话,您可以使用 $_SERVER['HTTP_REFERRER'] 作为引用网址,使用 $_SERVER['REMOTE_ADDR'] 作为 IP 地址。代码本身非常相似:

$block = ['url1', 'url2'];
foreach ($block as $value) {
if ($_SERVER['HTTP_REFERRER'] == $value)
header('Location: http://google.com/');
}

您可能也可以在 javascript 中使用 ==(我不会相信 ===,因为它是来自 dom 节点的值)而不是匹配。这是漫长的一天,无论出于何种原因,首先想到的是比赛。

关于javascript - 阻止恶意推荐网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11588838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com