真实有效防止网站被恶意镜像的方法(终极版)
网站内容被镜像是一个令人非常头疼的问题,特别对已经拥有固定用户群以及固定流量的站点,伤害非常大,今天分享几个有效防止被镜像的方法:
一、JS跳转法(通用法一)
即通过JS判断当前域名,如果不是本域名则跳转回本域名。但镜像网站都会过滤掉JS代码甚至JS文件,那么我们需要加入代码混淆和触发事件。
将下面代码中的地址改为自己的域名地址添加到主题目录header.php中适当位置即可(此方法有效)!
<script type="text/JavaScript">
if(window["x6cx6fx63x61x74x69x6fx6e"]["x68x6fx73x74"] != 'www.freexyz.net' && window["x6cx6fx63x61x74x69x6fx6e"]["x68x6fx73x74"] != 'freexyz.net'){
alert('警告!检测到该网站为恶意镜像站点,将立即为您跳转到官方站点!');
window["x6cx6fx63x61x74x69x6fx6e"]["x68x72x65x66"] = 'http://'+'www.freexyz.net/';
}
</script>
<div style="display:none;">
<script>nofreexyznet = false;</script>
<img src=" " onerror='setTimeout(function(){if(typeof(nofreexyznet)=="undefined"){window["x6cx6fx63x61x74x69x6fx6e"]["x68x6fx73x74"]="www.freexyz.net";}},3000);'>
</div>上述代码为两段代码组合而成,相辅相承,配合使用来防止不同技术处理的镜像站。
此方法优点:简单、通用。
缺点:代码必须混淆。
二、JS跳转法(通用法二)
同方法一,利用拆分法将代码拆分,不需要再对代码进行混淆。
将下面代码中的地址改为自己的域名地址添加到主题目录header.php中适当位置即可(此方法有效)!
<img style="display:none" src=" " onerror='var currentDomAIn="www." + "freexyz" + ".net"; var str1=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.bingj.com" ){ 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');
function deny_mirrored_websites(){
$currentDomain = 'www" + ".freexyz." + "net';
echo '<img style="display:none" src=" " onerror='var str1="'.$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.bingj.com" ){ do_action = "loca" + "tion." + "href = loca" + "tion.href" + ".rep" + "lace(docu" +"ment"+".loca"+"tion.ho"+"st," + ""' . $currentDomain .'"" + ")";eval(do_action) }' />';
}此方法优点:方便、避免WordPress升级导致失效。
缺点:只适用于WordPress。
四、屏蔽恶意镜像站UA
根据抓取服务器日志分析得知lapaleo.com此镜像站UA为"PHP/5.4.45"
那么通过.htaccess将此UA屏蔽掉即可(此方法有效)!
# 屏蔽恶意UA
RewriteCond %{HTTP_USER_AGENT} "PHP/5.4.45"
RewriteRule ^(.*)$ http://www.freexyz.net将上面代码中加到.htaccess中即可。
此方法优点:一劳永逸。
缺点:只能针对某些特殊UA的镜像站点。
五、屏蔽镜像站IP
根据抓取服务器日志分析可抓取镜像站的IP地址(关闭CDN情况下)
再通过.htaccess将镜像站IP屏蔽掉即可(此方法有效)!
如果开启了CDN,则需要将下面三个IP地址加入CDN黑名单!
# 屏蔽恶意IP Order Allow,Deny Allow from all Deny from 142.4.100.25 Deny from 188.129.143.73 Deny from 104.236.180.129
将上面代码中加到.htaccess中即可。
上面三个IP地址为镜像站的IP地址(其中某镜像IP地址会隔段时间改变)
此方法优点:最原始,最暴力。
缺点:镜像网站IP收集不全并且某些镜像站IP会改变。
好了,通过上面几种方法基本上可以防止网站被镜像的问题了。
PS:修改前注意先备份文件,特别是.htaccess文件。
建议同时使用方法(一)/(二)/(三)、方法四、方法五。
方法一、方法二、方法三不要同时使用,因为三种方法原理相同,同时使用可能会出现某些莫名其妙问题……
上一篇:WordPress在Windows主机中如何实现伪静态
栏 目:WordPress
下一篇:如何设置WordPress回收站自动清空时间或跳过回收站永久删除
本文地址:https://zz.feitang.co/CMSjiaocheng/25081.html
您可能感兴趣的文章
- 11-11wordpress导航菜单新窗口打开的设置方法
- 11-11WP-PostViews插件如何修改文章阅读数
- 11-11wordpress附件保存目录改为年月日和上传文件重命名为时间戳
- 11-11WordPress 上传媒体库文件重命名 全格式支持
- 11-11解决wordpress安装后更新或者上传文件权限不足的问题
- 11-11wordpress实现主动推送+熊掌号推送同步进行
- 11-11WordPress 添加友情链接设置 nofollow 属性
- 11-11WordPress 实现 wp_list_bookmarks 自定义友情链接排除调用
- 11-11WordPress首页指定或排除某分类文章显示
- 11-11WordPress不同分类调用不同的文章模板


阅读排行
推荐教程
- 09-22wordpress如何添加描述
- 11-11wordpress附件保存目录改为年月日和上传文件重命名为时间戳
- 10-19纯代码给WordPress网站添加独立下载页面功能
- 11-11WordPress之给文章内容中间插入广告的实现方法
- 10-18wordpress无插件调用随机文章的方法
- 10-18WordPress 技巧:WordPress 后台也使用七牛云存储
- 10-24Win10无法调节声音怎么办?Win10无法调节声音的解决方法
- 10-19WordPress上传图片HTTP错误的解决方法
- 10-18让注册用户可以上传自己的头像的WordPress插件-WP User Avatar v2.
- 11-11国外WordPress精美主题如何DIY汉化成中文版呢?





