如何彻底的去除Yourphp强制版权(Powered by yourphp)

最近,在使用基于ThinkPHP开发的Yourphp企业网站管理系统做企业站,在使用的过程当中遇到了Yourphp强制版权(Powered by yourphp)的问题。甚是烦恼!!!那么,我们如何才能彻底去除Yourphp强制版权(Powered by yourphp)呢?今天我就把我的方法写出来,希望对有需要的朋友有点帮助,同时也算是自己的笔记吧,呵呵,废话不多说了。

        首先,我想到的是去模板文件Home_header.html内找Powered by yourphp,去除后并更新缓存,依然不行。(很是生气!!!)无奈,我就进行了全局搜索,还好,让我发现了Core\Lib\Template\ThinkTemplate.class.php这个文件。在文件里找到了如下代码段:

if(!YP_KEY){  
    $tmplContent =  str_replace('</title>',' - Powered by Yourphp</title>',$tmplContent);

}

       大家可能以为Yourphp藏的够深,其实这还不算啥,接着看呵呵

       不难发现Yourphp是否加强制版权(Powered by yourphp)是通过一个常量来控制的。于是,在项目的配置文件中定义了YP_KEY这个常量并赋值为:true,心想这回肯定万事大吉了!!!(心里那个窃喜啊!!!)于是,更新缓存刷新页面,兄弟我瞬间崩溃,万恶的强制版权(Powered by yourphp)依然存在(貌似在鄙视我呢哈)。 

        没有办法只好全局搜索YP_KEY了,在搜索到的结果中发现文件:Core/Common/runtime.php,在这个文件中我们可以找到如下代码段:

if(defined('YP_KEY')){

        $content = preg_replace('/defined\(\'YP_KEY\'\) or define\(\'YP_KEY\',\'(.+?)\'\)\;/','',$content);

        exit;

}

preg_match('/[\w][\w-]*\.(?:com\.cn|net\.cn|com|cn|co|net|org|gov|cc|biz|info)(\/|$)/isU', $_SERVER['SERVER_NAME'], $domain);

$domain = $domain[0];
if(is_file(__ROOT__.$domain.'.php')){ 
        include __ROOT__.$domain.'.php';
        eval(authcode(base64_decode($code)));
        $content .=  sha1( $domain.$key['key'])==$key['code'] ? ' defined(\'YP_KEY\') ?  exit : define(\'YP_KEY\',true);' : 'define(\'YP_KEY\',false);';
 }else{
        $content .= 'define(\'YP_KEY\',false);';
 }

        通过看这段代码,我们可以发现,无论我们自己是否定义YP_KEY这个常量或者赋给YP_KEY(true或者false)最终这段代码都会将YP_KEY的值强制改变为false,所以,这才是Yourphp强制加版权的根。

        由此看来,我们将这两处代码段删除即可彻底去除Yourphp强制版权(Powered by yourphp)!

说明:我所用的版本为2.2Released

作者:灬指南针灬

网易博客:http://wjlwl0228.blog.163.com   灬指南针灬 的博客

CSDN博客:http://blog.csdn.net/wjl0228wl

转载请注明来源:http://wjlwl0228.blog.163.com/blog/static/1669118732013012102754879/http://blog.csdn.net/wjl0228wl/article/details/8495814

阅读更多
个人分类: PHP
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭