dedecms模板防盗的四种方法分享

发布时间:2020-03-23编辑:脚本学堂
本文是 No牛收集整理自网络,网上的版本都没有提供 Nginx 301重定向实现dedecms模板防盗的方法和403文件禁止实现织梦模板防盗。
以下是自己整理的织梦模板防盗的四个方法,供大家学习参考。

织梦(dedecms)模板也是一种财富,谁都不希望自己辛辛苦苦做的模板被盗用,因此需要做好模板防盗工作。
本文是 No牛收集整理自网络,网上的版本都没有提供 Nginx 301重定向实现dedecms模板防盗的方法和403文件禁止实现织梦模板防盗。
以下是自己整理的织梦模板防盗的四个方法,供大家学习参考。

方法一、系统文件修补

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

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

复制代码 代码如下:
if(!file_exists($tempfile)||!is_file($tempfile))
{
echo “文档ID:{$this->Fields[‘id’]} - {$this->TypeLink->TypeInfos[‘typename’]} - {$this->Fields[‘title’]}”;
echo “模板文件不存在,无法解析文档!”;
exit();
}

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

复制代码 代码如下:
if(!file_exists($tempfile)||!is_file($tempfile))
{
// echo “文档ID:{$this->Fields[‘id’]} - {$this->TypeLink->TypeInfos[‘typename’]} - {$this->Fields[‘title’]}”;
// echo “模板文件不存在,无法解析文档!”;
exit();
}

方法二、模板内容入库化

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

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

复制代码 代码如下:
{dede:mytag name=‘list’ ismake=‘yes’/}

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

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

方法三、301重定向跳转

这个相比以上两种方法更简单有效,但是对您的服务器环境有特殊要求:必须支持.htaccess或httpd.ini的自定义配置——URL重写技 术。我们这里以.htaccess为例,比如您的模板目录为:/templets/xuewl_com/ ,那么就可以使用下面的代码进行301重定向:

复制代码 代码如下:
RewriteEngineOn
RewriteBase/
ErrorDocument404/
RewriteRule templets/xuewl_com /

Nginx 301重定向域名

在Nginx扩展设置(server段)加入以下代码:

复制代码 代码如下:
location ~*^/templets {
rewrite ^/templets/(.*)$ http://jb200.com permanent;
}

其中,http://jb200.com是你想要跳转到的网址。

方法四、文件403禁止

403方法是禁止目录文件被读取,需要主机支持.htaccess文件。我们知道,织梦的模板是.htm后缀的文件,只要在templets禁止浏 览器加载.htm文件就可以实现模板防盗了。具体的办法是在templets文件夹内,放置一个.htaccess文件。.htaccess文件的内容如 下:

复制代码 代码如下:
<Files *.html>
Order Allow,Deny
Deny from all

以上是为大家总结的织梦DedeCMS模板防盗的四种方法,其实方法是相通的。
假如有别的程序也是.htm或者.html后缀的文件,上面的方法有部分也是适用的,如403方法和301方法等。