防止网站被恶意镜像的方法

简介: 通过PHP或者JS来防止网站被恶意镜像的方法

通过PHP或者JS来防止网站被恶意镜像的方法
方法一∶PHP防御法
1、PHP获取镜像网站服务器IP

复制如下代码,新建一个php文件,并命名为“ip.php”上传到你的网站根目录

<?php

$file="ip.txt";//保存的文件名

$ip=$_SERVER['REMOTE_ADDR'];

$handle=fopen($file,'a');

fwrite($handle,"IPAddress:");

fwrite($handle,"$ip");

fwrite($handle,"\n");

fclose($handele);

?>
2、然后访问你网站的镜像站点,在地址后面加.../ip.php,然后你就会在网站根目录找到ip.txt文件了,打开复制里面的ip地址。

3、打开你的.htaccess文件,在后面加上如下代码(自行修改为刚刚获得的ip)

添加IP黑名单

OrderDeny,Allow

Denyfrom162.158.72.179
我们再刷新一下镜像站点,是不是已经403报错了呢?

这个时候已经解决了这个镜像站点,然后就等待蜘蛛将其解决掉吧。

方法二:JS防御法
如果你无法通过IP禁止镜像网站,那么可以通过JS代码判断主域。如果主域不是本域名则跳转回本域名。

在网站标签之前中添加JS判断代码,代码如下:

if(document.location.protocol!="https:"&&navigator.userAgent.indexOf("MSIE6.0")<0)

{

location.href=location.href.replace(/^http:/,"https:");

}

if(document.location.host!="www.luxd.cc")

{

location.href=location.href.replace(document.location.host,'www.luxd.cc');

}


如果以上方法都无效,请继续往下看

一、JS跳转法
通过JS判断当前域名,如果不是本域名则跳转回本域名。但镜像网站都会过滤掉JS代码甚至JS文件,那么我们需要加入代码混淆和触发事件。

将下面代码中的地址改为自己的域名地址添加到主题目录header.php中适当位置即可(此方法有效)!

<scripttype="text/javascript">

if(window"\x6c\x6f\x63\x61\x74\x69\x6f\x6e"!='www.luxd.cc'&&window"\x6c\x6f\x63\x61\x74\x69\x6f\x6e"!='d9y.net'){

alert('警告!检测到该网站为恶意镜像站点,将立即为您跳转到官方站点!');

window"\x6c\x6f\x63\x61\x74\x69\x6f\x6e"='http://www.luxd.cc/';

}

<divstyle="display:none;">

<imgsrc=""οnerrοr='setTimeout(function(){if(typeof(nod9ynet)=="undefined"){window"\x6c\x6f\x63\x61\x74\x69\x6f\x6e"="www.luxd.cc";}},3000);'>


上述代码为两段代码组合而成,相辅相承,配合使用来防止不同技术处理的镜像站。

此方法优点:简单、通用。

缺点:代码必须混淆。

二、JS跳转法
同方法一,利用拆分法将代码拆分,不需要再对Javascript代码进行混淆。

将下面代码中的地址改为自己的域名地址添加到主题目录header.php中适当位置即可(此方法有效)!

<imgstyle="display:none"src=""οnerrοr='varcurrentDomain="www."+"luxd"+".cc";varstr1=currentDomain;str2="docu"+"ment.loca"+"tion.host";str3=eval(str2);if(str1!=str3&&str3!="cache.baiducontent.com"&&str3!="webcache.googleusercontent.com"&&str3!="c.360webcache.com"&&str3!="snapshot.sogoucdn.com"&&str3!="cncc.tk100.net"){do_action="loca"+"tion."+"href=loca"+"tion.href"+".rep"+"lace(docu"+"ment"+".loca"+"tion.ho"+"st,"+"currentDomain"+")";eval(do_action)}'/>
此方法优点:简单,通用。

缺点:暂无。

三、JS跳转法(WordPress专用)
看到其他的防镜像方法,并且已有更方便的方法来解决镜像问题,故跟进。

将下面代码中的地址改为自己的域名地址添加到当前所用的主题的functions.php中即可(此方法有效)!

//防止网站被恶意镜像
add_action('wp_footer','deny_mirrored_websites');

functiondeny_mirrored_websites(){

$currentDomain='www"+".luxd."+"cc';

echo'<imgstyle="display:none"src=""οnerrοr=\'varstr1="'.$currentDomain.'";str2="docu"+"ment.loca"+"tion.host";str3=eval(str2);if(str1!=str3&&str3!="cache.baiducontent.com"&&str3!="webcache.googleusercontent.com"&&str3!="c.360webcache.com"&&str3!="snapshot.sogoucdn.com"&&str3!="www.luxd.cc"){do_action="loca"+"tion."+"href=loca"+"tion.href"+".rep"+"lace(docu"+"ment"+".loca"+"tion.ho"+"st,"+"\"'.$currentDomain.'\""+")";eval(do_action)}\'/>';

}
此方法优点:方便、避免WordPress升级导致失效。

缺点:只适用于WordPress。

上述方法,合适的选择即可解决网站被恶意镜像的问题

目录
相关文章
|
消息中间件 Java 开发者
【颠覆想象】Spring Boot重构未来:解耦与隔离,打造坚不可摧的微服务帝国!
【8月更文挑战第29天】本文通过构建电子商务平台的具体案例,深入探讨了如何利用 Spring Boot 实现服务间的解耦与隔离。文章详细介绍了依赖注入、模块化设计及异步通信等关键技术,并提供了具体代码示例。通过依赖注入,对象间耦合得以降低;模块化设计使各功能域独立,降低系统复杂度;异步通信则利用消息队列提升系统吞吐量与响应速度。这些方法不仅优化了系统架构,还加快了开发进程。
322 0
|
机器学习/深度学习 人工智能 网络架构
YOLOv5架构详解
YOLOV5神经网络架构详解
3467 0
|
存储 监控 固态存储
如何在 Linux 上检查 SSD/HDD 健康状况?
【10月更文挑战第14天】
1520 1
如何在 Linux 上检查 SSD/HDD 健康状况?
|
搜索推荐 应用服务中间件 nginx
Nginx系列教程(05) - 虚拟主机配置
Nginx系列教程(05) - 虚拟主机配置
1083 0
|
监控 固态存储 Linux
蓝易云 - CentOS下查看ssd寿命
请注意,不是所有的SSD都支持S.M.A.R.T.数据,同时,不同的SSD厂商可能会使用不同的字段来表示SSD的寿命消耗。如果你找不到相关信息,可能需要查阅你的SSD厂商的文档。
192 4
|
NoSQL C语言 索引
十二个C语言新手编程时常犯的错误及解决方式
C语言初学者常遇错误包括语法错误、未初始化变量、数组越界、指针错误、函数声明与定义不匹配、忘记包含头文件、格式化字符串错误、忘记返回值、内存泄漏、逻辑错误、字符串未正确终止及递归无退出条件。解决方法涉及仔细检查代码、初始化变量、确保索引有效、正确使用指针与格式化字符串、包含必要头文件、使用调试工具跟踪逻辑、避免内存泄漏及确保递归有基准情况。利用调试器、编写注释及查阅资料也有助于提高编程效率。避免这些错误可使代码更稳定、高效。
1909 12
|
JavaScript
vue 3 element组件el-image的坑
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃ 发现了这个坑,立马来发个文章水一水
632 0
|
传感器 人工智能 自动驾驶
智慧城市中的智能交通系统:缓解拥堵与提升出行效率
【9月更文挑战第16天】随着城市化进程加快,交通拥堵和污染等问题日益严重,成为制约城市发展的瓶颈。为此,智慧城市应运而生,其中智能交通系统(Intelligent Traffic System, ITS)作为核心部分,正逐渐成为缓解交通拥堵、提升出行效率的关键力量。本文将探讨智能交通系统如何通过信号优化、智能导航及公交调度等策略,结合实时路况监测与自动驾驶技术,为城市交通带来革命性变革。未来,随着技术进步和政策支持,智能交通系统将进一步智能化并与智慧城市其他系统深度融合,共同推动城市的可持续发展。
1857 17
|
前端开发 Java 网络安全
nacos常见问题之Nacos获取配置文件时报错如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
1427 3