wordpress网站被镜像的危害及处理办法

自媒体 思享 2295浏览

前几天搜索网站品牌词“思享SEO”,发现网站被镜像了。就是指别人复制了一个和我一模一样的网站。今天我们就来谈一谈网站被镜像危害及解决办法

网站被镜像的危害

镜像是怎么实现的没有去研究过。我的网站被镜像,URL都替换成掉了,且统计、推送JS文件也删除了等等。我想,既然百度会收录这样的镜像站点,就证明对于镜像和原站的识别,百度依然不能做到百分之百。而镜像站点的更新和主站是同步的,不管是混肴用户还是搜索引擎,都会给网站带来伤害。

网站被镜像的解决办法

解决被镜像的方法就是屏蔽镜像站的IP地址。我是直接通过站长工具查询到的,然后在(我的是Apache).htaccess添加

RewriteEngine On
##Block ip
RewriteCond %{http:X-Forwarded-For} (211.104.158.56) [NC]  //其中IP地址按照自己修改
RewriteRule (.*) – [F]

注意要添加在# END WordPress和# BEGIN WordPress之外

屏蔽IP后镜像站点

或者还可以通过插件屏蔽,我没试过~

这里,也提供一个网上找到的方法

获取IP

<? 
$file = "ip.txt"; //保存的文件名 
$ip = $_SERVER['REMOTE_ADDR']; 
$handle = fopen($file, 'a'); 
fwrite($handle, "IP Address: "); 
fwrite($handle, "$ip"); 
fwrite($handle, "\n"); 
fclose($handle); 
?>
将上述文件命名为“ip.php”放在网站根目录,然后我通过镜像网站网址访问https://www.4xseo.com.……/ip.php,然后在上述PHP程序生成的ip.txt中获取到镜像站点的IP地址211.104.158.56

屏蔽IP

在htaccess中添加下述代码:

Deny from 211.104.158.56

当你再次用镜像网址访问你的网站的时候就会报403错误了,现在百度即使收录了这个网址对你的网站也不会产生任何影响.

反制措施

?为了给这个镜像网站小小的“反击”,我决定把这个403错误页面设置为其他网站网址,实现方法是在屏蔽IP的htaccess代码中添加:

ErrorDocument 403 http://news.baidu.com/

这样你访问你的镜像网址时,会发现它镜像的是其实百度新闻。(不知道百度蜘蛛发现一个网站在完全抄袭自己家的东西会是什么感觉)

PS,但是我测试结果却仅仅是302重定向到百度新闻而已~所以,反制措施可有可无。

百度举报

近日发现一个镜像站点,屏蔽IP也无效,在百度站长平台找了好久,找到的回答是通过快照举报删除,但实际一周前的举报,至今仍未处理。

百度举报镜像站点

大家如果有什么比较实用的方法,欢迎讨论

20160910更新

Js被屏蔽后防止镜像的方法

将以下代码加到网站的header.php中:

<div style="display:none;">
<script>proxy2016 = false;</script>
<img src="" onerror='setTimeout(function(){if(typeof(proxy2016)=="undefined"){window.location.host="https://www.4xseo.com";}},3000);'>
</div>

有些网站会屏蔽掉JS代码(如下面的代码) :

<script>...</script>

所以 代码将被过滤掉,img的onerror设置超时时间3000毫秒,将运行函数部分,检测是否还存在proxy2016字符,如果没有找到就会将主机的URL改为https://www.4xseo.com;为了安全起见,将js部分(代码下划线部分)可以使用js代码混淆

JS对比跳转

通过拆分域名链接与镜像站比对,然后用img标签src空值触发onerror来执行js比对,比对失败则跳转回源站。

代码如下:(复制粘贴到主题的functions.php中)

add_action('wp_footer','kimsom_reverse_proxy_defense');
function kimsom_reverse_proxy_defense(){
$domain_arr = explode('//',home_url());
$domain = $domain_arr[1];
echo '<img style="display:none" id="inlojv-rpd" src="nothing" data-url="'.home_url().'" onerror="var str0=document.getElementById(\'inlojv-rpd\').attributes.getNamedItem(\'data-url\').nodeValue;var ishttps=\'https:\'==document.location.protocol?true:false;if(ishttps){var str1=\'https\'+\'://\';}else{var str1=\'http\'+\'://\';}var str2=\''.$domain.'\';var str3=str1+str2;if( str0!=str3 ){alert(\'\u8b66\u544a\uff01\u68c0\u6d4b\u5230\u8be5\u7f51\u7ad9\u4e3a\u6076\u610f\u955c\u50cf\u7ad9\u70b9\uff0c\u5c06\u7acb\u5373\u4e3a\u60a8\u8df3\u8f6c\u5230\u5b98\u65b9\u7ad9\u70b9\uff01\');if (!!(window.attachEvent && !window.opera)){document.execCommand(\'stop\');}else{ window.stop();}var str4=\'wind\'+\'ow.loca\'+\'tion.rep\'+\'lace(str3)\';eval(str4);}">';
}

添加以上代码之后,再打开镜像站就会弹出提示:“警告!检测到该网站为恶意镜像站点,将立即为您跳转到官方站点!”,并在关闭或确定此提示后直接跳转到被镜像的网站。目前博主也是用的这个方法

推荐阅读

纯代码实现wordpress附件页面重定向到文章或首页

前几天发现wordpress网站有评论留言的回顾。结果一看就是附件页面的垃圾评论。这才发现原来wordpress上传的附件也会有对应的页面。难怪之前收录了很多附件页面,但是我的机器人禁止了,忘记了。本来以为会禁用,结果只找到了在线使用插件的方法。最后......

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘fake_update_callback’

这是当一个被挂钩的函数名与挂钩关联不匹配时…这可能发生在重命名一个函数时,而不是在挂钩关联中重命名函数名时。如果强迫症受不了wordpress的主题提示,可以使用插件WP降级将版本设置为当前版本。...

wordpress升降到指定版本:WP Downgrade | Specific Core Version插件

背景:网站一直用4.9+版本,因为编辑器还是老的。如果是自动升级,是目前最高的版本,但是我想升级到最新的版本,4.9.22版。WP降级|特定核心版插件可以解决我的问题。设置好程序路径后,记得保存更改,然后“升/降级核心”会等待升级。如果是降级操作,为......