自从换了Always主题,把底部友链折腾出来之后,就再也没折腾博客了,安心安逸的写写自己的故事。近来发生了一些小事,让我不得不小小的折腾一下。

前段时间看了 以歌。先生 的关于被镜像的文章之后,我拿自己的域名试了一下,发现就自己这种连百度都不想做文章收录的小站,居然被两个站给镜像了,真是无语。发现被镜像之后,搜索了大多数防镜像的方法,大多适用服务器配置,而我这种虚拟机并没有提供参数配置选项,只好采用一些笨办法,尽量防一下网站被镜像。

在发现博客被镜像的当天,请教了自定义,他发过来一连串我看不懂的代码,似乎跟 以歌。先生 文章中的代码一样:

//防镜像代码一
add_action('wp_footer','inlojv_reverse_proxy_defense');
function inlojv_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(\'\u6b64\u7ad9\u4e3a\u6076\u610f\u955c\u50cf\u7ad9\uff01\u5c06\u7acb\u5373\u4e3a\u60a8\u8df3\u8f6c\u5230\u6e90\u7ad9\uff01\');if (!!(window.attachEvent && !window.opera))
{document.execCommand(\'stop\');}else{ window.stop();}var str4 = \'window.loca\'+\'tion.replace(str3)\';eval(str4);}">';
}

添加代码之后,打开镜像站会有明显的弹窗提示非原站之类的,但是并不会自动跳回到原站,感觉稍微有点瑕疵,自己又不会写,于是到处搜索,终于在 张戈博客 找到了优化版防镜像代码:

//防镜像代码二
add_action('wp_footer','deny_mirrored_websites');
function deny_mirrored_websites(){
$currentDomain = 'eveaz." + "com'; //此处自行拆分一下自己的域名即可
echo '<img style="display:none" src=" " onerror=\'var str1="'.$currentDomain.'";str2="docu"+"ment.loca"+"tion.host";str3=eval(str2);if( str1!=str3 ){ do_action = "loca" + "tion." + "href = loca" + "tion.href" + ".rep" + "lace(docu" +"ment"+".loca"+"tion.ho"+"st," + "\"' . $currentDomain .'\"" + ")";eval(do_action) }\' />';
}

代码二的好处就是打开镜像站直接跳转到原站,这点挺好的。

附上代码来源:
防镜像代码一来自 以歌。先生
防镜像代码二来自 张戈博客

8 thoughts on “说好的不折腾呢

  1. 廖梓旭说道:

    把网站内的所有连接做成绝对地址,估计问题就不大了。

    1. 言小五说道:

      @廖梓旭 这个主题都是各种调用,函数是调用的,php是调用的,如果改绝对地址,对于我这种小白来说,似乎太复杂了,稍有不慎,就挂了。

  2. nyun说道:

    好~那我就放心了,因为有时我会复制粘贴别人的代码~哈哈!页面禁止复制没有的,想搞到怎么也有方法~

    1. 言小五说道:

      @nyun 一样一样,代码基本靠复制的。话说,能够分享代码而不让别人复制,那真是有病了。

  3. nyun说道:

    这种方法,如果是手工复制粘贴的也起作用吗?

    1. 言小五说道:

      @nyun 这个是真不行~一般镜像站都是通过某种代码无脑采集的。对付手工复制粘贴,在页面中禁止右键、禁止左键选定似乎可行,但是我不知道怎么弄。

      1. 自定义说道:

        @言小五 禁止复制代码 http://jingyan.baidu.com/article/7908e85c6e5655af481ad2f2.html ,我前段时间用了,然后自己用也不能复制怪不方便的就下掉了。

        1. 言小五说道:

          @自定义 哈哈哈,我也觉得不是蛮方便,况且我这站小,别人犯不着来手工采集我的文章。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注