织梦DedeCMS模板防盗 四种方法可避免
织梦模板防盗方法一之系统文件修补法:
系统文件修补法这种方法呢,显得比较麻烦一点。也要求对织梦(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/(.*)$ permanent;
}
其中,是你想要跳转到的网址。
织梦模板防盗方法四之文件403禁止方法:
403方法是禁止目录文件被读取,需要主机支持.htaccess文件。我们知道,织梦的模板是.htm后缀的文件,只要在templets禁止浏 览器加载.htm文件就可以实现模板防盗了。具体的办法是在templets文件夹内,放置一个.htaccess文件。.htaccess文件的内容如 下:
Files *.HTML
Order Allow,Deny
Deny from all