dedecms二次开发:织梦系统模板文件防盗的三种简单实现方法

2015-05-13 23:11 阅读 106 次 评论关闭

注意:本教程适用于DedeCMS 通用

      织梦(dedecms)模板也是一种财富,不想自己辛辛苦苦做的模板被盗用,在互联网上出现一些和自己一模一样的网站,可以看看下面三个方法:

  • 系统文件修补法
  • 模板内容入库化
  • 301重定向跳转

1)系统文件修补法       这种方法呢,显得比较麻烦一点。也要求对织梦(dedecms)系统有一定的熟悉度才建议这样来做。因为我们做的模板,往往是不太全面的,比如当我们的站 只有文章模型的时候,那么通常就不会去制作其它模型的风格(比如:软件、商城、图集等),所以在这种情况下,当有用户访问了我们不存在的文件路径之后,就 有可能暴露网站的模板目录。

       那么我们的解决方法,就是删除在具体文件中的提示语(最后通过PHP注释符来进行注释),比如在内容页解析文件(/include /arc.archives.class.php)中,就有如下这一段:

以下为引用的内容:

  1. if(!file_exists($tempfile) || !is_file($tempfile))
  2. {
  3. echo "文档ID:{$this->Fields['id']} - {$this->TypeLink->TypeInfos['typename']} - {$this->Fields['title']}<br />";
  4. echo "模板文件不存在,无法解析文档!";
  5. exit();
  6. }

      那么就可以将他们进行注释掉,如:

以下为引用的内容:

  1. if(!file_exists($tempfile) || !is_file($tempfile))
  2. {
  3. // echo "文档ID:{$this->Fields['id']} - {$this->TypeLink->TypeInfos['typename']} - {$this->Fields['title']}<br />";
  4. // echo "模板文件不存在,无法解析文档!";
  5. exit();
  6. }

2)模板内容入库化       这种方法相比上一种显得更方便点。简单来说,就是利用织梦(dedecms)系统的自定义标记(mytag)来加载。具体实现方法是新建一个自定义标记 (mytag),然后将我们需要隐藏模板文件中的所有代码全部拷贝到自定义标记的内容中。

然后,就是将刚才需要隐藏的那个模板文件中的所有代码全部清空并替换为以下代码:

以下为引用的内容:

{dede:mytag name='list' ismake='yes' /}

     其中红色加粗list就是自定义标记(mytag)的标记名称!这样就算是被人猜解到了模板路 径,那么下载后也会是一个无法使用模板。因为它无法知道您的这个宏标记的具体内容,这个具体内容已经被存到了数据库里了。

这种方法已基本上可完成对模板的隐藏了,也建议大家采用此方式。

3)301重定向跳转       这个相比以上两种方法更简单有效,但是对您的服务器环境有特殊要求:必须支持

.htaccess

httpd.ini

的自定义配置 ——  URL重写技术。我们这里以.htaccess为例,比如您的模板目录为:/templets/xuewl_com/ ,那么就可以使用下面的代码进行301重定向:

RewriteEngine On
RewriteBase /
ErrorDocument 404 /
RewriteRule templets/xuewl_com /

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:dedecms二次开发:织梦系统模板文件防盗的三种简单实现方法 | 猎微网

评论已关闭!