企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] # DEDECMS保护设置 因为,dedecms漏洞相对较多,容易成为被攻击的对象,所以有必要遵循下面的规则保护dedecms系统。 **隐藏dedecms可能暴露的特征信息** 使用的静态资源禁止放置在模板路径中,比如使用的模板目录是`default`,则,不允许在`templets/default`路径下面直接放置静态资源和静态资源文件夹: ~~~ <!-- 禁止这样 --> ... <link rel="stylesheet" type="text/css" href="//www.domain.com/templets/default/css/base.css"> ... ~~~ **1. 关于DEDECMS栏目模板和文件的命名规则** **模板命名规则:`栏目名称_模板类型_内容模型.htm`** 1. 栏目名称为该栏目的英文名称,命名规则参考`命名规则`章节的目录名称方式,遇到两个以上单词的请使用驼峰命名方式。 比如新闻栏目(news),体育视频(sportsVideo) 2. 模板类型,DEDECMS将模板类型分为了3个固定类型 `封面:index` `列表:list` `文章:article` 3. 内容模型可能的选项有: `商品:shop`(不常用) `软件:soft`(不常用) `图片集:image`(不常用) `普通文章:article`(最常用) `专题:spec`(不常用) `分类信息:infos`(不常用) 以上为系统自带几种内容模型类型,我们可以扩展 ... 因此,根据上面的命名和规则,一个页面为列表页,属于普通文章模型,该页面主体内容是新闻,栏目英文名称为news,则对于该页面的模板名称为:`news_list_article`。如果我不想用默认的普通文章模型,而使用自定义的一个模型(news)制作这个页面,则可以定义这个模板名称为`news_list_news`。 另外一个例子,有一个栏目是关于体育视频(sports video)的,且也自定义了一个视频模型(video),则这个栏目的内容页名称`sportsVideo_article_video.htm` 建议,为每个新建栏目建设一个新的模型,以达到优化数据表的目的。 **文件命名规则** 文章名称规则:`{typedir}/{aid}.html` 列表命名规则:`{typedir}/{page}.html`或者`{typedir}/list_{page}.html` aid和page分别表示当前内容文档的ID值和当前列表页面的ID值 **2. 文件保存目录** 若当前栏目名称为`foo`,且是顶级栏目,则保存目录为`{cmspath}/foo`, 若在`foo`下面还一层栏目为`bar`,则改栏目的保存路径为`{cmspath}/foo/bar`。 其他,依此类推。 **3. 模板文件说明** 需要修改`/templets/templet-filelist.inc` 文件,一行一个说明:左侧是文件名右边是说明,中间`,`分开 ~~~ ... rss.htm,订阅模板 404.htm,404页面模板 ... ~~~ **4. 附件路径和其他路径修改** dedecms附件路径是`uploads`,特别是图片路径`/uploads/allimg/日期/随机字符串.png`。对dedecms熟悉的人可以一眼判断出来,所以需要修改一下图片附件的路径,比如`/uploads/img/日期/随机字符串.png`.对应的缩略图目录也可以改成`thumb`或者其他名称。并建议使用二级域名的形式访问。 > 假设上传的文件原始URL:www.example.com/uploads/allimg/日期/随机字符串.png, 可以改成 uploads.example.com/img/日期/随机字符串.png 另外,插件目录默认是`plus`,最好也将这个目录名称修改一下,比如`plugin`。 修改文件`include/common.inc.php` ~~~ //插件目录,这个目录是用于存放计数器、投票、评论等程序的必要动态程序 $cfg_plus_dir = $cfg_cmspath.'/plus'; //这里plus 改成其他路径 //上传的普通图片的路径,建议按默认 $cfg_image_dir = $cfg_medias_dir.'/allimg'; //这里alimg 改成其他路径 ~~~