织梦DedeCMS模板防盗的四种方法
织梦(DedeCMS)模板也是一种财富,不想自己辛辛苦苦做的模板被盗用,在互联网上出现一些和自己一模一样的网站,就需要做好模板防盗。本文是No牛收集整理自网络,不过网上的版本都没有提供 Nginx 301重定向实现dedecms模板防盗的方法和403文件禁止实现织梦模板防盗,自己狗尾续貂,整合到一起了,方便自己以后查询。以下就是织梦模板防盗的四个方法,希望可以帮到大家。
1.系统文件修补法
系统文件修补法这种方法呢,显得比较麻烦一点。也要求对织梦(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();}
2.模板内容入库化
这种方法相比上一种显得更方便点。简单来说,就是利用织梦(DedeCMS)系统的自定义标记(mytag)来加载。具体实现方法是新建一个自定义标记 (mytag),然后将我们需要隐藏模板文件中的所有代码全部拷贝到自定义标记的内容中。
然后,就是将刚才需要隐藏的那个模板文件中的所有代码全部清空并替换为以下代码:
以下为引用的内容:
其中红色加粗的list就是自定义标记(mytag)的标记名称!这样就算是被人猜解到了模板路径,那么下载后也会是一个无法使用模板。因为它无法知道您的这个宏标记的具体内容,这个具体内容已经被存到了数据库里了。
这种方法已基本上可完成对模板的隐藏了,也建议大家采用此方式。
3.301重定向跳转
这个相比以上两种方法更简单有效,但是对您的服务器环境有特殊要求:必须支持.htaccess或httpd.ini的自定义配置——URL重写技术。我们这里以.htaccess为例,比如您的模板目录为:/templets/xuewl_com/ ,那么就可以使用下面的代码进行301重定向:
RewriteEngine OnRewriteBase /ErrorDocument 404 /RewriteRule templets/xuewl_com /
Nginx 301重定向域名:
在Nginx扩展设置(server段)加入以下代码:
location ~* ^/templets {rewrite ^/templets/(.*)$ https://www.noniu.com permanent;}
其中,https://www.noniu.com是你想要跳转到的网址。
4.文件403禁止方法
403方法是禁止目录文件被读取,需要主机支持.htaccess文件。我们知道,织梦的模板是.htm后缀的文件,只要在templets禁止浏览器加载.htm文件就可以实现模板防盗了。具体的办法是在templets文件夹内,放置一个.htaccess文件。.htaccess文件的内容如下:
<Files *.htm>Order Allow,DenyDeny from all</Files>
以上是织梦DedeCMS模板防盗的四种方法,其实方法是相通的,假如有别的程序也是.htm或者.html后缀的文件,上面的方法有部分也是适用的。如403方法和301方法等。
织梦DedeCMS模板防盗的四种方法的更多相关文章
- 织梦dedecms模板制作时,循环递增autoindex使用方法整理
文章转载:http://www.maihui123.com/dedecms/2012051964.html 织梦dedecms模板制作时,我们需要每循环一次,变量加一,这是就需要使用到autoinde ...
- 织梦DedeCMS子目录移动到根目录的方法
有时候我们在子目录中安装了dedecms,但有时候需要将其换到根目录中,下面就讲一下织梦DedeCMS子目录移动到根目录的方法: 下面是具体的操作步骤,强烈建议先备份数据库. 1.进入dedecms后 ...
- 织梦dede模板中广告的去除方法?
织梦)dede模板中广告的去除方法1.我们先删除头部的广告,找到templetsdefault下的head.htm文件,打开后找到<div>{dede:myad name=’innerTo ...
- 织梦dedecms用户注册时笔名去掉的方法
修改目的:用户注册时不用输入笔名,实现系统自动同步用户名和用户笔名. 负责织梦dedecms用户注册的php文件是member/reg_new.php ,不难发现,用户注册时的用户名$userid,和 ...
- 织梦DedeCMS模板通用安装方法
在网络上有很多可以免费下载的DEDECMS模板,下载之后如何安装是很多新手的共同问题.下面将结合我个人使用DEDECMS模板的一些心得,讲一下DEDE模板安装的通用方法. 1.下载一个模板之后要判断一 ...
- 织梦dedecms 去掉后台登陆验证码的方法
那么有什么办法解决呢? 那么现在就给大家解决织梦去掉后台登陆验证码. 这里面分两种版本 一个是织梦5.6的程序 那么织梦5.6程序的解决办法是: 在织梦DedeCms5.6版本可以通过下面路径对验 ...
- 织梦dedecms模板调用标签大全-提高制作模板速度
关键描述调用标签: ——————————————————————————–模板路径调用标签: {dede:field name=’templeturl’/}—————————————————————— ...
- 织梦dedecms 模板文件不存在,无法解析文档!
方法一:[此对应喜欢把模板文件使用".html"的格式,] /include/arc.archives.class.php 556行 if (!preg_match("# ...
- (转)织梦dedecms模板。如何让type='image'和不带type='image'的文章同时出现在列表里。
“节日歌圩”栏目是有内容的,但是文章没有缩略图所以没有在频道首页显示出来,我现在想要有缩略图的文章自然显示,没有缩略图的文章也能出现标题列表(依然按照一行4个标题,可以用一张“无缩略图”的图片来代替缩 ...
随机推荐
- xcode8.1 插件失效的问题
1,查看 Xcode 插件安装目录 ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins 鼠标点一下桌面, command+shi ...
- MVC中的AOP
一. AOP是什么? AOP(Aspect-Oriented Programming),面向切面编程,看着是跟OOP(面向对象编程)挺相近的,但实际上又有什么区别呢?OOP具有封装,继承,多态等东西来 ...
- vue中,class、内联style绑定、computed属性
1.绑定Class ①对象语法 <li :class="{ 'active': activeIdx==0 }" @click="fnClickTab(0)" ...
- Json概述以及python对json的相关操作
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript Programming Langu ...
- HTTP Method详细解读(`GET` `HEAD` `POST` `OPTIONS` `PUT` `DELETE` `TRACE` `CONNECT`)
前言 HTTP Method的历史: HTTP 0.9 这个版本只有GET方法 HTTP 1.0 这个版本有GET HEAD POST这三个方法 HTTP 1.1 这个版本是当前版本,包含GET HE ...
- c 二叉树的使用
简单的通过一个寻找嫌疑人的小程序 来演示二叉树的使用 #include <stdio.h> #include <stdlib.h> #include <string.h& ...
- C语言用分别用递归和循环求数字的阶乘的方法
以下代码均为 自己 实现,嘻嘻! 参考文章:http://blog.csdn.net/talk_8/article/details/46289683 循环法 int CalFactorial(int ...
- 微信支付:H5吊起支付API,不显示“确认支付、输入密码”界面
使用公众号进行支付,官方开发帮助文档: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1 其业务流程如下: 按照业务流程进行开发 ...
- GridView中显示时间日期格式问题
以下都是GridView基本常用的日期,时间格式 形式 语法 结果 注释 数字 {0:N2} 12.36 数字 {0:N0} 13 货币 {0:c2} $12.36 货币 {0:c4} $ ...
- EC笔记:第4部分:19、设计class犹如设计type
设计一个class,应该考虑以下问题: 新type的对象应该怎样创建和销毁? 构造函数 析构函数 内存分配 内存释放 对象的初始化和对象的赋值应该有什么样的差别? 拷贝构造函数 赋值运算符 新对象如果 ...