织梦(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),然后将我们需要隐藏模板文件中的所有代码全部拷贝到自定义标记的内容中。

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

以下为引用的内容:

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

其中红色加粗的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模板防盗的四种方法的更多相关文章

  1. 织梦dedecms模板制作时,循环递增autoindex使用方法整理

    文章转载:http://www.maihui123.com/dedecms/2012051964.html 织梦dedecms模板制作时,我们需要每循环一次,变量加一,这是就需要使用到autoinde ...

  2. 织梦DedeCMS子目录移动到根目录的方法

    有时候我们在子目录中安装了dedecms,但有时候需要将其换到根目录中,下面就讲一下织梦DedeCMS子目录移动到根目录的方法: 下面是具体的操作步骤,强烈建议先备份数据库. 1.进入dedecms后 ...

  3. 织梦dede模板中广告的去除方法?

    织梦)dede模板中广告的去除方法1.我们先删除头部的广告,找到templetsdefault下的head.htm文件,打开后找到<div>{dede:myad name=’innerTo ...

  4. 织梦dedecms用户注册时笔名去掉的方法

    修改目的:用户注册时不用输入笔名,实现系统自动同步用户名和用户笔名. 负责织梦dedecms用户注册的php文件是member/reg_new.php ,不难发现,用户注册时的用户名$userid,和 ...

  5. 织梦DedeCMS模板通用安装方法

    在网络上有很多可以免费下载的DEDECMS模板,下载之后如何安装是很多新手的共同问题.下面将结合我个人使用DEDECMS模板的一些心得,讲一下DEDE模板安装的通用方法. 1.下载一个模板之后要判断一 ...

  6. 织梦dedecms 去掉后台登陆验证码的方法

    那么有什么办法解决呢? 那么现在就给大家解决织梦去掉后台登陆验证码.   这里面分两种版本 一个是织梦5.6的程序 那么织梦5.6程序的解决办法是: 在织梦DedeCms5.6版本可以通过下面路径对验 ...

  7. 织梦dedecms模板调用标签大全-提高制作模板速度

    关键描述调用标签: ——————————————————————————–模板路径调用标签: {dede:field name=’templeturl’/}—————————————————————— ...

  8. 织梦dedecms 模板文件不存在,无法解析文档!

    方法一:[此对应喜欢把模板文件使用".html"的格式,] /include/arc.archives.class.php 556行 if (!preg_match("# ...

  9. (转)织梦dedecms模板。如何让type='image'和不带type='image'的文章同时出现在列表里。

    “节日歌圩”栏目是有内容的,但是文章没有缩略图所以没有在频道首页显示出来,我现在想要有缩略图的文章自然显示,没有缩略图的文章也能出现标题列表(依然按照一行4个标题,可以用一张“无缩略图”的图片来代替缩 ...

随机推荐

  1. Java回调方法详解

    回调在维基百科中定义为: 在计算机程序设计中,回调函数,是指通过函数参数传递到其他代码的,某一块可执行代码的引用. 其目的是允许底层代码调用在高层定义的子程序. 举个例子可能更明白一些:以Androi ...

  2. [转]Linux下g++编译与使用静态库(.a)和动态库(.os) (+修正与解释)

    在windows环境下,我们通常在IDE如VS的工程中开发C++项目,对于生成和使用静态库(*.lib)与动态库(*.dll)可能都已经比较熟悉,但是,在linux环境下,则是另一套模式,对应的静态库 ...

  3. Email系列(QQ邮箱 + 含附件的邮箱案例 + 项目实战)

    平台之大势何人能挡? 带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4822808.html 邮箱系列:https://github.com/duniti ...

  4. copy()之绝版应用

    我选用了一个稍稍复杂一点的例子,它的大致功能是:从标准输入设备(一般是键盘)读入一些整型数据,然后对它们进行排序,最终将结果输出到标准输出设备(一般是显示器屏幕).这是一种典型的处理方式,程序本身具备 ...

  5. 【CSS进阶】CSS 颜色体系详解

    说到 CSS 颜色,相比大家都不会陌生,本文是我个人对 CSS 颜色体系的一个系统总结与学习,分享给大家. 先用一张图直观的感受一下与 CSS 颜色相关大概覆盖了哪些内容. 接下来的行文内容大概会按照 ...

  6. 【补充】Gitlab 部署 CI 持续集成

    上一篇:<劈荆斩棘:Gitlab 部署 CI 持续集成> 上一篇所配置的.gitlab-ci.yml: stages: - build - test before_script: - ec ...

  7. 挑子学习笔记:BIRCH层次聚类

    转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/6129425.html 本文是“挑子”在学习BIRCH算法过程中的笔记摘录,文中不乏一些个人理解,不当之处望 ...

  8. 代码的坏味道(8)——被拒绝的馈赠(Refused Bequest)

    坏味道--被拒绝的馈赠(Refused Bequest) 特征 子类仅仅使用父类中的部分方法和属性.其他来自父类的馈赠成为了累赘. 问题原因 有些人仅仅是想重用超类中的部分代码而创建了子类.但实际上超 ...

  9. C++进程间通信

    # C++进程间通信 # 进程间通讯的四种方式:剪贴板.匿名管道.命名管道和邮槽 ## 剪切板 ## //设置剪切板内容 CString str; this->GetDlgItemText(ID ...

  10. 【C#公共帮助类】WinRarHelper帮助类,实现文件或文件夹压缩和解压,实战干货

    关于本文档的说明 本文档使用WinRAR方式来进行简单的压缩和解压动作,纯干货,实际项目这种压缩方式用的少一点,一般我会使用第三方的压缩dll来实现,就如同我上一个压缩类博客,压缩的是zip文件htt ...