当前位置:首页 » 好文分享 » 详情

    防止WordPress网站被镜像的方法

    1、图片onerror与js代码方案

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

    代码如下:(复制粘贴到主题的functions.php最后一个?>之前)
    add_action('wp_footer','deny_mirrored_websites');
    
    function deny_mirrored_websites(){
        
    $currentDomain = 'www.liming." + "hk'; //此处自行拆分一下自己的域名即可 如不需www二级可以去掉
        
    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) }\' />';
    
    }

    html静态版本

    是上面的变种,只是把上面卸载js中的用写在静态代码里了。
    <img style="display:none" src=" " onerror='var currentDomain="luoxiao123." + "cn"; 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) }' />
    

    以上两种方案都需要将代码中的域名替换为自己的域名!

    2:UA判断方案

    代码通过php判断UA为空或含有PHP的请求,否则弹出提示并禁止打开
    /**
    * 
    **/
    if(!is_admin()) {
    add_action('init', 'deny_mirrored_request', 0);
    }
    function deny_mirrored_request()
    {
    $ua = $_SERVER['HTTP_USER_AGENT'];
    if(!$ua || preg_match('/PHP/i', $ua)) {
    header("Content-type: text/html; charset=utf-8");
    wp_die('请勿采集本站,因为采集的站长木有小JJ!');
    }
    }

    优化版本,判断更多请求样式:
    //防止恶意HTTP_USER_AGENT采集
    add_action('wp_head', 'deny_mirrored_request', 0);
    function deny_mirrored_request()
    {
    $ua = $_SERVER['HTTP_USER_AGENT'];
    $now_ua = array('FeedDemon ','BOT/0.1 (BOT for JCE)','CrawlDaddy ','Java','Feedly','UniversalFeedParser','ApacheBench','Swiftbot','ZmEu','Indy Library','oBot','jaunty','YandexBot','AhrefsBot','MJ12bot','WinHttp','EasouSpider','HttpClient','Microsoft URL Control','YYSpider','jaunty','Python-urllib','lightDeckReports Bot','PHP'); 
    if(!$ua) {
    header("Content-type: text/html; charset=utf-8");
    wp_die('请勿采集本站,采集者木有小JJ!请正常访问,并认准【龙笑天下网】官方网址!');
    }else{
        foreach($now_ua as $value )
        if(eregi($value,$ua)) {
        header("Content-type: text/html; charset=utf-8");
        wp_die('请勿采集本站,采集者木有小JJ!请正常访问,并认准【李明個人網站】!');
        }
    }
    }

    以上就是我找到的并且亲身验证的两种方案!当然还有nginx、.htaccess等方法!大家可以结合起来使用!方法多多,欢迎大家评论,分享更多切实有效的防镜像站办法!
    打赏
    X
    打赏方式:
    • 支付宝
    • 微信
    • QQ红包

    打开支付宝扫一扫
    日期:2017年10月09日 09:27:09 星期一   分类:好文分享   浏览(40011)   评论(1)
    本文地址:https://www.blogs.hk/post-2687.html   [百度已收录]
    声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
    版权所有:《博客之家
    文章标题:《防止WordPress网站被镜像的方法
    除非注明,文章均为 《博客之家》 原创
    转载请注明本文短网址:https://www.blogs.hk/post-2687.html  [生成短网址]

    留言咨询

    自动获取QQ

    昵称

    邮箱

    网址

    1楼、王光卫博客 [回复该留言]
    2020-03-24 22:31
    感谢分享,先试试

        站点统计

        • 收录网址:3370 个
        • 发布文章:3008 条
        • 在线人数:1人
        • 总访问量:270559289次
        • 本站运行:12年5月3天
        Copyright © 2025 博客之家 版权所有  
        關於本站免責聲明sitemap新站登錄