织梦dedeCMS中的几个常见的自定义常量DEDEMEMBER等位置
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!
dedecms新建栏目时默认都是允许投稿的,可以投稿本来对网站来说是件好事,但是dedecms是开源的,使用太广泛了,所以,投稿功能就成了别人发垃圾消息的途径了。
本来关掉投稿功能就可以解决垃圾消息的问题,但是现在又需要投稿功能,不得不采取其他方法来处理垃圾消息了。
首先就是更改会员系统的目录,有些人就是通过百度或谷歌搜索inurl:member/index.php?uid=admin 这样可以把所有织梦相关收录的网站都提取出来,然后用软件批量提交发垃圾消息。更改目录后,可以降低被宣战发垃圾消息的概率。
不过更改之后可能模板里面有些路径需要更改一下,还有几十下面的这个配置文件,DEDEMEMBER这个自定义常量需要修改。慢慢弄吧。我从这一步开始,后面还要继续增加一些防垃圾消息的方法。
这几个东西很多文件都用到的
/include/common.inc.php ————————–根目录的include文件夹里
复制代码
define(‘DEDEINC’, ereg_replace(“[/\]{1,}”,’/’,dirname(__FILE__) ) );
define(‘DEDEROOT’, ereg_replace(“[/\]{1,}”,’/’,substr(DEDEINC,0,-8) ) );
define(‘DEDEDATA’, DEDEROOT.’/data’);
define(‘DEDEMEMBER’, DEDEROOT.’/member’);
安装了DedeCMS 5.7 SP1,访问后台的时候发现报出错误“DedeCMS Error: (PHP 5.3 and above) Please set ‘request_order’ ini value to include C,G and P (recommended: ‘CGP’) in php.ini,more…”
解决办法1:
这个错误其实已经在报错的时候提示解决办法了,在PHP 5.3以上版本,增加了一个request_order配置项,默认值为“GP”。DedeCMS认为默认配置有一定风险,所以建议修改成“CGP”就可以了。
解决办法:
找到PHP目录下的php.ini文件,找到request_order配置项,将之前的:
request_order=”GP”
修改为:
request_order=”CGP”
然后重启Apache或者IIS就可以了。
解决办法2:(针对虚拟主机用户,无法修改php.ini的用户)
找到文件: include/common.inc.php
找到34行:if(strtoupper(ini_get(‘request_order’))==’GP’)
修改成:
if(strtoupper(ini_get(‘request_order’))==’CGP’)
搞定。
解决办法3:
在 FTP 里,找到文件夹include,右键编辑“common.inc.php”找到if(version_compare(PHP_VERSION, ‘5.3.0’, ‘>’))
{
if(strtoupper(ini_get(‘request_order’))==’GP’)
exit(‘DedeCMS Error: (PHP 5.3 and above) Please set \’request_order\’ ini value to include C,G and P (recommended: \’CGP\’) in php.ini,
看到上面代码中的GP了吗?将 ‘GP’改成 ‘CGP’ 即可!
一、安装Memcache服务:
1.1.linux下的Memcache安装:
————————-
1. 下载 memcache的linux版本,注意 memcached 用 libevent 来做事件驱动,所以要先安装有 libevent。
2. 安装 pecl::memcache。
用 pecl 命令行工具安装:
pecl install memcache
或直接从源码安装:
phpize
http://www.dede58.com/a/zhimengjiaocheng/dedefault/configure
make
make install
1.2.Windows下的Memcache安装:
—————————-
1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached
2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装
3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4.下载php_memcache.dll,请自己查找对应的php版本的文件
5. 在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
memcached的基本设置:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以管理员的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
1.3.php.ini中的配置:
——————–
[Memcache]
; 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,
; 它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
; 是否在遇到错误时透明地向其他服务器进行故障转移。
memcache.allow_failover=On
; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。memcache.max_failover_attempts=20
; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。
memcache.chunk_size=8192
; 连接到memcached服务器时使用的默认TCP端口。
memcache.default_port=11211
; 控制将key映射到server的策略。默认值”standard”表示使用先前版本的老hash策略。
; 设为”consistent”可以允许在连接池中添加/删除服务器时不必重新计算key与server之间的映射关系。
;memcache.hash_strategy=”standard”; 控制将key映射到server的散列函数。默认值”crc32″使用CRC32算法,而”fnv”则表示使用FNV-1a算法。
; FNV-1a比CRC32速度稍低,但是散列效果更好。
;memcache.hash_function=”crc32″
;memcache也可以作为session的存储模块,具体参看:memcache PHP 的 session.save_handler.
二、DedeCMS后台设置
进入系统后台,在[系统基本参数]下面的”性能选项”卡当中,关于memcache进行如下配置:
cfg_memcache_enable : 是否启用memcache缓存,如果为否(N),默认使用文件缓存;
这个选项设置为开启:Y
cfg_memcache_mc_defa : 默认memcache缓存服务器地址;
这个选项中填入服务器地址:memcache://127.0.0.1:11211/default127
cfg_memcache_mc_oth : 附加memcache缓存服务器地址;
这个如果没有可以为空.
三、设定缓存时间
cfg_puccache_time : 需缓存内容全局缓存时间(秒),这个里面需要设定缓存周期,默认为36000秒
四、Memcache的分布式应用
* memcache适合与web server安装在同一server上
* memcache可以在n个端口开n个进程,如果和web server在同一机器的话,还能减少网络开销.
* 配置简单,启动一个进程就行了,免去了配置文件
五、DedeCMS缓存函数开发说明
由于封装成小助手的形式,所以在使用的时候先初始化:
helper(‘cache’);
几个简单的方法:
SetCache() 设定缓存信息
GetCache() 获取缓存内容
DelCache() 删除缓存内容,简单的使用例子如:
六、参考网站
织梦MVC开发框架是一个精简、迷你的web开发框架,用这个开发框架可以编写基于织梦内容管理系统的扩展功能、模块(插件),甚至可以将其分离出来开发博客、BBS、SNS等。
目录结构说明:
|_app
|___control 控制器(C)
|___model 模型(M)
|___templates 视图模板(V)
|___libraries 类库
|___data 配置
|___data\helper 小助手
|___static 样式,js,图片文件夹
|___index.php 统一入口文件
统一入口解析地址
http://你的网址/app/index.php?ct=index&ac=save
ct=index:控制器入口,对应到目录control中的index.php
如果RunApp()指定了第三个参数,例如问答中RunApp($ct, $ac , ‘admin’),说明ct=index:控制器入口,对应到目录control/admin中的index.php
ac=save:操作,对应文件index.php中的class index中function ac_save()
控制器中将相关功能操作都存放至一个文件中,例如留言板,可以使用:
?ct=guestbook&ac={do}统一完成,这样也便于静态化部署.
1.控制器开发说明(control):
基本代码结构:
复制代码
class yourctname extends Control
{
public function ac_save()
{
}
}
控制器可以选择继承一个基类:Control,这个类对应的文件名是/include/control.class.php,这里面含有基类的相关操作说明,这里有几个常用方法:
$control->Model();
//载入一个模型。例如问答模块中index.php中的 $this->question=$this->Model(‘mquestion’),就是在载入了mquestion这个模型。然后我们就可以通过$this->question来调用模型相应操作。实现数据的插入,更新等等操作。调用类的名字可以随便定义,但要保证没有冲突。模型的文件放在model目录中。
$control->Libraries();
//载入一个类。有时开发我们需要一个系统中不存在的类时,我们可以通过这个方法来载入一个自己的类。具体的方法和模型一样。类放在libraries目录中。
$control->helper();
//载入一个小助手。引入小助手是为了更好的帮助我们存放和管理需要用到的Function。
具体的方法和模型一样。小助手放在data\helper目录中。
$control->SetTemplate();
$control->SetTemplet(); // 设定当前操作需要指定的模板;
$control->SetVar($k, $v); // 设定模板需要解析的变量,在模板中使用{dede:var.name /}进行调用.
GLOBALS[‘k’]=$k;
// 设定模板需要的变量,在模板中可以直接用方式输出(问答模块基本上都是采用这样的方式输出),这种方式比较适合处理一些复杂的数据,例如数组。
$control->GetVar($k); // 获取设定的模板变量
$control->Display(); // 显示模板解析后的内容
$control->SaveTo(); // 将内容保存到文件
控制器中关于模板的使用操作可以参看DedeTemplate模板引擎,具体可以参看公司内部开发文档中模板说明相关章节.
模型开发说明(Model):
复制代码
class mtype extends Model
{
public function get_one()
{
}
}
控制器可以选择继承一个基类:Model,这个类对应的文件名是/include/model.class.php,这里面含有数据库类的相关操作说明,这里只有一个方法:
$model->dsql();
//实例化数据库操作类。模型中关于数据库类的使用操作可以参看数据库类使用说明(http://help.dedecms.com/v53/archives/functions/db/)
模板标签调用说明:
如果在控制器中通过$control->SetVar($k, $v); 这种方式设定的参数,我们通过标签 {dede:var.name /}的方式进行调用。
如果在控制器中通过GLOBALS[‘k’]=$k;这种方式设定的参数,我们通过标签 {dede:global.name/}的方式进行调用或者直接采用php的方式进行输出。
更多的关于模板标签的使用可以到http://help.dedecms.com/v53/ 上进行查询
dede是一款非常普遍的CMS程序,但是安装好后往往都提示:“没有更改默认管理员名称admin,建议您修改为其他管理账号!马上修改”,但是根据提示你没有办法修改默认的管理员名称,只能增加笔名。即使你添加管理员,也不能删除admin这个管理员名称。
为什么要修改管理员ID?
修改admin有很多好处主要是为了系统更加安全,修改一个只有你自己知道的名字。
如何修改管理员ID(admin)?
作者多方寻找,总算是找到了一个满意的答案,分享给各位站长。
方法如下:
1、先登录到后台系统,依次点击系统-数据库备份/还原,这时候会跳出来很多表,我们只需要用到dede_admin这个表名,先拉到最下面单击取消,然后在把dede_admin这个表勾上就可以了。如下图:
然后拉到最底部, 勾选备份表结构信息,点提交-备份完成。如下图:
然后登陆到FTP,找到根目录下的data文件夹然后打开进入backupdata这个文件夹,找到类似 dede_admin_0_ba5fabe4aa5ff9a7.txt这个文件,前缀都是一样的,后缀可能会不一样。下载到本地,用记事本打开,有个admin,这就是默认的ID号,改成你想要的名字即可,然后保存。如图:
然后上传覆盖原来的即可(不放心可以提前备份一下)。
最后登陆到后台,还原一次数据,就可以了。如图:
然后你会发现登陆ID已经变成你改的名称了。
这样就OK了,各位站长自己试下吧。
网页模板就是templets中的htm文件,所以编写模板就是要编写html。这篇文章不是关于标签的具体使用,而是对网页模板的一些理解。包括基本的标签语法,封面模板,列表模板和文档模板的关系。
一 关于标签
dedecms标签:就像html标签,不过是织梦自定义的,由标签名,属性,和InnerText构成。
先看一段代码templets/index.htm
复制代码
网站名:{dede:global name=cfg_webname/}
最近登陆的会员
{dede:memberlist row=6 signlen=30}
[field:uname/]
{/dede:memberlist}
通过运行网站主页index.php查看结果。
像dede:global就是标签名,name=cfg_webname是属性,在dede:memberlist标签间的就是InnerText。在织梦中,InnerText又称为底层模板。
短标签:像global这种只有单边的标签叫短标签,表示一个元素的值。
块标签:像memberlist这种成对的标签叫块标签,一般表示一系列的纪录,像上面的代码就表示列出6个会员的默写信息。研究一下会发现这些记录来自数据库。
[field:XX]这个代表记录中的某个属性值。
总结一下,编写模板时用到这些语言
Html代码+新增的dedecms标签语法。
Css和Js没有新语法,以外部文件的方式调用。
Php,mysql的代码大大减少,与数据库查询有关的代码大部分被标签语法。比如说调用memberlist标签,就等价于访问数据表dede_cms。Php主要用于插件等新模块的编写和修改。
以上只是织梦标签语法的简述,详见模板手册
标记手册1
标记手册2
站长百科
二 模板的种类
2.1 templets文件夹
System文件夹,里面放的是默认底层模板。当我们在块级标签间不写任何东西时,就会自动被调用来作为块级标签的InnerText。
Plus文件夹,里面放的是被root_dir/plus里的php调用的模板。经过一些研究也许能仿写这些模板的代码,待探究。
Default文件夹,里面放的是默认模板,是网页显示主要的模板,如果在网上下一个其他的dedecms模板(非官方默认模板),可能里面只是一个templets文件夹,因为这对外观已经足够了。下面是default文件夹的分析。
我以前只用到index.htm,其他的文件有什么用呢?
我认为这些文件可以分成两类:
第一类不是一个完整的页面,被include的(由于有了dedecms标签,html文档中也可以include)。如head.htm,footer.htm等。
第二类就是完整的页面了,呵呵。
而第二类又分为封面(index)模板,列表(list)模板,文档(内容,article)模板。文件夹中的index_XX.htm就是封面模板,依此类推。
2.2封面、列表和文档模板的测试
在root_dir/index.php中的SetTemplet处把路径改为dirname(__FILE__) . “/templets/default/
list_article.htm”,显示的内容不太完整。这些模板要怎么用呢?一下是我探索的办法:
打开dedecms的网站后台管理(对了,请先安装安装数据体验包,这样才有测试数据)
点击网站栏目管理
在网页基础中点更改
常规选项中栏目属性是频道封面
再选择高级选项
高级选项中封面模板为{style}/index_article.htm
如果你安装的数据和我是同一版本,就会知道网页基础是个一级栏目,底下组织了很多文章。
回到网站栏目管理
点击预览,会看到一个关于网页基础栏目的页面。由于常规选项中栏目属性是频道封面,高级选项中封面模板为{style}/index_article.htm,所以网页调用index_article.htm作为模板。
依此类推,如果在常规选项中栏目属性是最终列表栏目,高级选项中封面模板为{style}/list_article.htm,则会调用list_article.htm作为模板,文档模板也依此类推。
模板和栏目的关系
每一个栏目都有自己的三个模板,而同一个模板可被多个栏目所用。也就是说,模板只是提供了样式,但内容终究来至数据库。这也说明了为什么在root_dir/index.php中的SetTemplet处改路径不能显示完整的内容,因为模板没有绑定到某个具体栏目。这也是织梦作为内容管理系统的特点,把样式和内容分离。
再来说说文档模板,在常规选项->栏目属性处看到。作为频道封面栏目不能发布文章的。那我们选一个最终列表栏目,如”Html”
点击更改。看到常规选项中栏目属性是最终列表栏目,点高级选项,就能看到文档模板为{style}/article_article.htm,所以Html栏目下所有的文章都会以这个模板显示。
点击内容管理里的普通文章
选择一篇Html栏目下的文章,点预览(右边的那个绿色小球)
这时看到的是就是article_article.htm模板代表的样式。
到这里,应该就会如何显示/调试封面模板、列表模板和文档模板了。
2.3频道
可以看见templets/default中大部分的模板都是这三类,可见其重要性。那么有index_article.htm,list_article.htm,article_article.htm就够了,其他又是干什么的。
这就要讲到频道,频道是栏目的类型,文章(article)频道、图片(image)频道、软件(soft)频道(实质是一个下载频道)、商品(shop)频道等。频道是一种内容模型,比如动漫、风景都能用图片频道。所以就会有index_article.htm,index_ image.htm,index_ soft.htm,index_shop.htm。每个频道都有自己的三种模板。
那么如何编写模板,当然要先学过标签语法
A、function 扩展,如{dede:标记名称 function=”函数名(@me,其它参数)” /}
B、在Innertext中直接编程,也就是之前一直用的方法
再读一下index_article.htm,list_article.htm,article_article.htm。读源码是最好的学习方法^_^
总的来说,写网页具体要做的就是为每个频道编写网页模板。
关于模板的内容就分享到这里了。
一、登陆Dedecms织梦后台,在“系统”区找到“数据库备份/还原”,将数据库进行“备份”;
二、将老空间里所有的文件,全部下载至电脑本地;
三、将文件上传至新空间;
四、运行http://你的域名/install 进行安装
前提:把install 文件夹里面的 install_lock.txt 和 index.html 文件删除,index.php.bak 改名为index.php,接着运行http://你的域名/install 进行安装。
注意:数据库表的前缀必须和原数据库表的前缀必须一致(按默认操作即可);安装初始化数据进行体验(体验数据将含带DedeCMS大部分功能的应用操作示例,这个选项不要勾选)。
五、安装完后,登陆后台,点击“系统管理”——“数据库备份/还原”——“数据还原”,全选发现的备份文件;
注意:附加参数中的还原结构信息不要勾选。
六、点击开始还原数据,等一会儿就会还原好了;
七、进入系统——系统基本参数,设置下网站相关信息,最后重新生成下网站即可。
这篇文章针对的是“无产阶级”毫无基础的朋友,如果你是高手或“资产阶级”就不用看了,高手欢迎交流,“资产阶级兄弟”给点活让兄弟我做做,保证质量。
基础
学习html
何 谓CMS模版?其实就是加上CMS模板引擎代码的HTML页面,所以基础便是HTML语言学习,HTML的标签不多,很容易学习,搜索下遍地都是教程,不 过现在正流行web标准,就是大家说的“DIV+CSS”,要求又提高许多,需要学习CSS,大家可以下载CSS手册,修改模版的时候对照学习修改,每天 只要花点时间很快就会学会。真心想学好web制作的朋友可常来我的网站逛逛。
学习dede模版代码
了解代码前,如果你是新手,请使用默认模版熟悉下dede系统,系统的设置,如何添加栏目,怎么为栏目设置模版,如何发表文章,更改文章,有个基本概念。
Dedecms的代码很有特色,只要熟悉以后很快就能上手而且使用非常灵活。dede模板引擎的代码样式有如下几种形式:
复制代码
{dede:标记名称 属性=’值’/}
{dede:标记名称 属性=’值’}{/dede:标记名称}
{dede:标记名称 属性=’值’}自定义样式模板(InnerText){/dede:标记名称}
从上面我们可以看出,dede模板引擎的代码可以分为标记名称、属性和自定义样式模版三部分,标记名称和属性用{}包围
而自定义样式模版在两个{}之间。
标记名称与属性的说明请大家参考系统帮助里的模版标记参考,这里介绍具体运用方法。
先看下面的例子:
复制代码
{dede:arclist typeid=’0′ titlelen=’28’ row=’10’ }
{/dede:arclist} 上面是最基本的取得最新内容列表标记arclist,由开始标记{dede:arclist 属性typeid=” titlelen=’28’ row=’10’ col=’1′}模版样式
和结束标记 {/dede:arclist}组成。当你完成页面制作后,便可开始添加dede代码。没有添加dede代码之前:
- [field:title/]
- [field:title/]
- [field:title/]
- [field:title/]
- [field:title/]
- [field:title/]
- [field:title/]
- [field:title/]
- [field:title/]
- [field:title/]
添加代码后
- [field:title/]
{dede:arclist typeid=’0′ titlelen=’28’ row=’10’ }
{/dede:arclist}
模版解析后就是添加代码前的样子。列表list标记,友情链接flink标记,导航channel标记,站内新闻mynews标记等待都是同样道理。
文章页里用到{dede:标记名称 属性=’值’/},如{dede:field name=’title’ /}就是文章标题的意思。
模 版里面的路径问题:本站使用{dede:global name=’cfg_basehost’/}/templets/w3cpro/img/css.css,{dede:global name=’cfg_basehost’/}是取得网站根目录的意思。这里有个模版保护问题,如果你珍惜你的网页模版,就把img目录独立分离出来,这样 别人就不会知道你的模版目录。
制作
要是真正独立制作一个模版,是很费精力的,规划、设计、制作、调试哪部分都很累人。很多站长都 没有能力制作,所以就有那么多的朋友期待别人放出模版,稍微有点能力就复制别人的模版,何为复制?保存原来的html页面,删除正文内容,添加CMS代 码,完工。,这就是复制,没有一点技术含量,只要添加CMS代码即可。就这样,我看还有很多人收费100到200帮人制作,我看得晕死,这也行。做为站长 也太懒了,做站连CMS的标记代码都不了解,还做什么站,真是郁闷了。
就模版而言,很多站长只看到设计即页面好看而没有看到网页制作即网 页代码,这是一个非常错误的观念。网页好看虽然重要,但对我们个人站长来说,网页制作更为重要。网页代码的质量关系到搜索引擎SEO与网站的可维护性,对 我们站长来说,网站只要简洁大方即可,关键是网站利于搜索引擎搜索能够创造更多的利润赚更多的钱。
天下文章一大抄,就看你会不会抄,制做模版和抄写文章一样,就看你会不会仿。我的设计水平很烂根本不入流,只会写网页代码。设计既然不会那就仿,取一个网页那是侵权,那就取三个四个网页,拿出它们的设计优点,组合成自己的网站。
过程以本站为例子:规划好网站结构,决定以蓝绿两种颜色为网页主色调,从网上找到合适的资源后开始在PS里组合网站,满意后开始编写代码制作网页,制作好后添加dede代码测试。
安装使用
dede3.1lit版本增强了系统设置,模版的所在位置可以在系统设置里设定,把模版文件夹放到templets,栏目设置里{style}代表了模版文件夹位置,如下图。
实例
下面提供本站实例给大家参考使用,页面制作并不复杂,适合大家学习使用。
总共制作了文章,图片(采用文章系统),下载三个系统模版,其他模版可以根据提供的页面修改。
index_in.html——主页
list.html——列表页
index_arc.html——文章页、下载封面
index_img.html——图片封面
list_img.html——图片列表
search.htm——搜索页面
article.html——文章页
article_down.html——下载页
article_img.html——图片
修改的文件:
inc_archives_view.php——上一篇下一篇分开调用,且限定文章所在栏目内而不是现在的全站。
inc_arcpart_view.php——更改友情链接flink
inc_channel_unit_functions.php——调用arclist标签无法读出此栏目为副栏目的文章的应急解决方案
inc_functions.php——跳转提示页标题修改
inc_vote.php——投票修改
增加的文件:
为了全站显示登入系统后的状态,member目录增加几个文件。
index_doo.php
index_login.php
login.html
config_g.php
logined.js
templets/index_login.html
下载后放到网站templets,参照上面设置即可。
很多所谓的“黑客”都是用工具来扫描入侵,厉害点的人是不屑来黑我们的小网站的,所以我们一般做好安全防护就可以了。以下是我收集整理的内容:
第一、安装的时候数据库的表前缀,最好改一下,不用dedecms默认的前缀dede_,可以改成ljs_,随便一个名称即可。
第二、后台登录开启验证码功能,将默认管理员admin删除,改成一个自己专用的,复杂点的账号。
第三、装好程序后务必删除install目录
第四、将dedecms后台管理默认目录名dede改掉。
第五、用不到的功能一概关闭,比如会员、评论等,如果没有必要通通在后台关闭。
第六、以下一些是可以删除的目录:
member会员功能
special专题功能
company企业模块
plus\guestbook留言板
以下是可以删除的文件:
管理目录下的这些文件是后台文件管理器,属于多余功能,而且最影响安全
file_manage_control.php file_manage_main.php file_manage_view.php media_add.php media_edit.php media_main.php
再有:
不需要SQL命令运行器的将dede/sys_sql_query.php 文件删除。
不需要tag功能请将根目录下的tag.php删除。不需要顶客请将根目录下的digg.php与diggindex.php删除。
第七、多关注dedecms官方发布的安全补丁,及时打上补丁。
第八、下载发布功能(管理目录下soft__xxx_xxx.php),不用的话可以删掉,这个也比较容易上传小马的.
第九、DedeCms官网出的万能安全防护代码,官网的要会员才能看.
为了让大家的CMS更安全,有需要的手工在config_base.php里加上
打开
config_base.php
找到
复制代码
//禁止用户提交某些特殊变量
$ckvs=Array(‘_GET’,’_POST’,’_COOKIE’,’_FILES’);
foreach($ckvs as $ckv){
if(is_array($$ckv)){
foreach($$ckv AS $key=> $value)
if(eregi(“^(cfg_|globals)”,$key)) unset(${$ckv}[$key]);
}
}
改为下面代码
复制代码
//把get、post、cookie里的 替换成
$ckvs=Array(‘_GET’,’_POST’,’_COOKIE’);
foreach($ckvs as $ckv){
if(is_array($$ckv)){
foreach($$ckv AS $key=> $value)
if(!empty($value)){
${$ckv}[$key]=str_replace(‘<'.'?','&'.'lt;'.'?',$value);
${$ckv}[$key]=str_replace(‘?’.’>’,’?’.’&’.’gt;’,${$ckv}[$key]);
}
if(eregi(“^cfg_|globals”,$key)) unset(${$ckv}[$key]);
}
}
//检测上传的文件中是否有PHP代码,有直接退出处理
if (is_array($_FILES)) {
foreach($_FILES AS $name=> $value){
${$name}=$value[‘tmp_name’];
$fp=@fopen(${$name},’r’);
$fstr=@fread($fp,filesize(${$name}));
@fclose($fp);
if($fstr!=” && ereg(“<\?",$fstr)){
echo “你上传的文件中含有危险内容,程序终止处理!”;
exit();
}
}
}
第十、最安全的方式:本地发布html,然后上传到空间。不包含任何动态内容,理论上最安全,不过维护相对来说比较麻烦。
十一,还是得经常检查自己的网站,被挂黑链是小事,被挂木马或删程序就很惨了,运气不好的话,排名也会跟着掉。所以还得记得时常备份数据.
web服务器运行的用户与目录所有者用户必须不一样,比如apache运行的用户为www,那么网站目录设置的所有者就应该不能设置为www,而是设置不同于www的用户,如centos。
我们这里假设web服务器以www用户运行,网站分配的用户为centos,dedecms网站根目录为/home/centos/web。
不建议用户把栏目目录设置在根目录, 原因是这样进行安全设置会十分的麻烦,
在默认的情况下,安装完成后,目录设置如下:
1、首先设置网站目录所有者为centos,用户组为www,目录设置为750,文件为640。
cd /home/centos
复制代码
chown -R centos.www web
find web -type d -exec chmod 750 {} \;
find web -not -type d -exec chmod 640 {} \;
2、data、templets、uploads、a images目录, 设置可读写,不可执行的权限;
设置可读写权限:
复制代码
cd /home/centos/web
chmod -R 770 data templets uploads a images
设置不可执行权限:
apache的设置,在apache配置文件中加入如下代码(以data目录为例,其它设置基本相同)。
复制代码
php_flag engine of
Order allow,deny
Deny from all
nginx的设置如下:
复制代码
location ~* ^/(data|templets|uploads|a|images)/.*\.(php|php5)$
{
deny all;
}
3、不需要专题的,建议删除 special 目录, 需要可以在生成HTML后,
删除 special/index.php 然后把这目录设置为可读写,不可执行的权限,上面介绍了如何设置可读写和不可执行的权限,这里就不重复了。
其它需注意问题:
1、虽然对 install 目录已经进行了严格处理, 但为了安全起见,我们依然建议把它删除;
2、不要对网站直接使用MySQL root用户的权限,给每个网站设置独立的MySQL用户帐号,许可权限为:
SELECT, INSERT , UPDATE, DELETE,CREATE , DROP , INDEX, ALTER , CREATE TEMPORARY TABLES
由于DEDE并没有任何地方使用存储过程,因此务必禁用 FILE、EXECUTE 等执行存储过程或文件操作的权限。
假设我们建立的数据库名为centosmysql,数据库用户为centosmysql,密码为123456,具体设置命令如下:
复制代码
mysql -uroot -p
mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES ON centossql.* TO centossql@localhost IDENTIFIED BY 123456;
mysql>FLUSH PRIVILEGES;
mysql>exit
3、更改默认管理目录dede,改到不易被猜到就好。
4、关注后台更新通知,检查是否打上最新dedeCMS补丁。
1、从FTP下载含有DEDE5.7广告代码的login.htm文件,login.htm位于/dede/templets/login.htm修改前备份该文件。
2 、打开login.htm找到最后几行,删除以下DEDE5.7广告代码:
复制代码
做好数据备份是站长管理员和维护人员的基本常识,织梦是php语言书写的程序,但是它的数据备份比一般的程序都简单,下面介绍织梦网站的数据备份。
第一步:进行数据备份
以超级管理员的身份登陆系统后台,在后台找到一个“数据库备份/还原”的工具,在系统–>数据备份/还原–>选中全部表,开始备份。如下图
第二步:压缩文件,下载到本地备份
A:登录独立主机或者VPS,把整个WEB进行压缩,然后下载到本地。
B:如果您的是网站用的是虚拟主机,可以通过虚拟主机控制面板进行压缩整站,然后下载到本地;如果没有解压缩功能,就只有慢慢的把文件传到本地了!
首先我们来了解一下AMPZ的文件目录功能:(本地安装DEDEAMPZ环境教程)
DedeAMPZ根目录的文件DedeAMPZ.exe(管理程序)、Setup.exe(安装程序)、Unstall.exe(卸载程序)
|–Config 管理软件和安装程序需要调用文件的配置目录
| |–Apache Apache目录
| |–Lib Zend optimizer目录
DedeAMPZ——|–Program — |–MySQL4 MySql4目录(对于服务器版这目录是空的)
| |–MySQL5 MySql5目录
| |–PHP4 PHP4目录(对于服务器版这目录是空的)
| |–PHP5 PHP5目录
|–WebRoot 站点文件默认存放目录
|–tmp 临时文件夹
常见问题:
1、安装目录是否带有中文目录,一般都是这个原因造成的,把目录改成英文文件夹!
2、安装完成后系统提示无法启动Apache
这问题有下面几种可能性:
(1) 可能你的电脑的防火墙有限制,请检查相关设置;
(2) 可能你装了IIS或其它Web Server,必须先停止;
当你做了上面两个操作后,不需要重装,直接在软件目录启动DedeAMPZ管理软件看看能否启动Apache
3、安装后如何卸载
由于本程序并没有生成多余的附加文件,卸载的时候手工运行程序根目录的 Unstall.exe ,完成后即可删除这个目录。
4、关于不能连接数据库的说明
请打开客户端,看MySQL服务是否有启动,如果无请注意检查防火墙等原因,此外如果你以前安装过MySQL,建议选卸载。
站长朋友常见的问题,在安装织梦网站的时候,一不留神,默认的管理员变成了admin,可以后期想修改这个账号的时候,发现不给修改,也不能删除,很头痛。
方法一:
1、再创建一个超级管理员,必须是超级管理员哦。
2、然后登陆数据库管理,找到dede_admin,删除admin的账号。
方法二:通过后台执行SQL命令
直接打开数据库修改吧,最直接了。或者用后台的sql执行(系统 – 系统设置 – SQL命令行工具)
id的话你要确定好是“1” 一般如果是默认的话都是 1
可能碰到的难题:
1、空间商没有数据库远程管理,那么需要我们去网上搜索一个“ phpmyadmin ” 把这个下载下来,上传到根目录,然后再远程登陆http://www.**.com/phpmyadmin,然后输入您的数据库登陆账号,找到dede_admin,删除admin账号。
2、请把网站做好备份,具体查看<<织梦网站数据备份步骤图解>>
DedeCMS 基于PHP和MySQL技术开发,可同时使用于Windows、Linux、Unix平台,环境需求如下:
1、Windows 平台:
IIS/Apache + PHP4/PHP5 + MySQL3/4/5
如果在windows环境中使用,建议用DedeCMS提供的DedeAMPZ套件以达到最佳使用性能。
2、Linux/Unix 平台
Apache + PHP4/PHP5 + MySQL3/4/5 (PHP必须在非安全模式下运行)
建议使用平台:Linux + Apache2.2 + PHP5.2 + MySQL5.0
3、PHP必须环境或启用的系统函数:
allow_url_fopen
GD扩展库
MySQL扩展库
系统函数 —— phpinfo、dir
4、基本目录结构
/ 根目录在安装可选模块时需设定可写入文件和创建目录的权限。
..http://www.dede58.com/a/zhimengjiaocheng/install 安装程序目录,安装完后可删除[安装时必须有可写入权限]
..http://www.dede58.com/a/zhimengjiaocheng/dede 默认后台管理目录(可任意改名)
..http://www.dede58.com/a/zhimengjiaocheng/include 类库文件目录
..http://www.dede58.com/a/zhimengjiaocheng/plus 附助程序目录
..http://www.dede58.com/a/zhimengjiaocheng/member 会员目录
..http://www.dede58.com/a/zhimengjiaocheng/images 系统默认模板图片存放目录
..http://www.dede58.com/a/zhimengjiaocheng/uploads 默认上传目录[必须可写入]
..http://www.dede58.com/a/zhimengjiaocheng/html 默认HTML文件存放目录[必须可写入]
..http://www.dede58.com/a/zhimengjiaocheng/templets 系统默认内核模板目录
..http://www.dede58.com/a/zhimengjiaocheng/data 系统缓存或其它可写入数据存放目录[必须可写入]
..http://www.dede58.com/a/zhimengjiaocheng/special 专题目录[生成一次专题后可以删除special/index.php,必须可写入]
5、PHP环境容易碰到的不兼容性问题
(1) data目录没写入权限,导致系统session无法使用,这将导致无法登录管理后台(直接表现为验证码不能正常显示);
(2) php的上传的临时文件夹没设置好或没写入权限,这会导致文件上传的功能无法使用;
(3) 出现莫名的错误,如安装时显示空白,这样能是由于系统没装载mysql扩展导致的,对于初级用户,可以下载dede的php套件包,以方便简单的使用。
织梦好多想本地测试织梦DEDECMS网站,今天介绍如何在本地安装测试环境,安装织梦系统。
第一:环境测试 DedeAMPZ 织梦官方测试软件
DedeAMPZ 是直接整合PHP + Apache + MySql 的服务器环境管理软件,操作十分傻瓜化,适合初中级水平的站长使用。
主要具有如下特点:
1、支持php4、php5、MySql4、MySql5、Apache2.2、Zend Optimizer-3.3.0;(完整版)
2、安装使用十分简单,并支持在php4与php5中切换;
3、经过专业的处理后,使您配置apache+php的站点更简单;
4、本软件内置DedeCMS在线安装程序,让您安装调试DedeCMS更加简单;
使用方法:
1.首先从织梦官方网站下载DedeAMPZ的服务器套件包,通常为一个Zip压缩包;
2.解压Zip文件到相应目录,得到一个可执行的安装文件,双击安装文件开始安装;
3.选择安装路径,例如:D:\DedeAMPZ,直接下一步进行安装;
4.安装完成进入控制面板设置初始数据库管理员密码;
5.DedeAMPZ自动从官方网站下载最新版本的DedeCMS自动执行安装;
常见问题:
1、在点击“点击安装”按钮在最后一步时可能会提示指定控件不存在的错误,那是因为有些盗版的操作系统禁用了一些组件,不过这不会影响软件的正常使用,仅是无法创建桌面图标而已,可以手工点击“DedeAMPZ.exe”运行客户端;
2、在安装DedeCMS的时候,数据库名称随意填写,不过要选择“自动创建”的选项。
下载地址:http://www.dedecms.com/html/chanpinxiazai/20080905/39481.html
第二:phpwind Wamp PW本地测试软件
一贯的,为了让站长轻松使用最新的论坛程序,phpwind 8.5发布之际,推出了phpwind Wamp 4.9 论坛集成安装包。
phpind Wamp 4.9是一个快速架设web环境的软件集成包(包含最新版的phpwind 论坛系统)。您无须任何复杂操作,只要下载phpwind Wamp 4.9软件包,点击安装,就能轻松实现站长的梦想。
一、 phpwind Wamp 4.9优点
简单: 真正做到任何人都可以轻松架设论坛及运行环境.只需下载phpwind Wamp 4.9软件包,1分钟点击安装完成。
高效: phpwind Wamp 4.9 能够根据用户计算机自动配置和方便优化相关环境。
安全: 1.安装phpwind Wamp 4.9不改动您本地计算机的任何设置和文件,保证您的计算机安全正常。
2.phpwind Wamp 4.9采用最新的论坛程序,我们对此进行了优化和配置,论坛本身具有一定的安全性。
3. phpwind Wamp 4.9 集成独立的卸载程序,在保留数据的前提下,不留下任何冗余文件。
二、安装环境需求及软件包简介
1.运行环境 操作系统:Microsoft Windows2000/XP/2003
2.软件包简介
集成 phpwind v 8.5 社区程序[简体中文]
更新 phpMyAdmin 到 3.1.1
更新 ZendOptimizer 到 3.3.3
更新 MySQL 到 5.1.30
更新 php 到 5.2.8
更新 Apache 到2.2.11
三、 安装使用
1. 下载phpwind Wamp 4.9软件包
2. 解压缩phpwind Wamp 4.9软件包至任意位置
3. 执行.exe文件,根据提示进行安装
4. 相关帐户说明(安装完后)
论坛创始人 用户名 : admin 密码 :admin
MySQL 数据库 用户名: root 密码: phpwind.net (建议您安装完后修改论坛及MySQL密码)
我们在使用织梦过程中会发现,图集的内容编辑器的功能要比文章的编辑器少很多,发布内容的时候很不好用,所以我们可以把图集的编辑器改成文章的编辑器来使用,就好很多了。
图集编辑器:
文章编辑器:
修改方法如下:
将/dede/templets/album_edit.htm 中的
复制代码
换成
复制代码
将/dede/templets/album_add.htm 中的
复制代码
换成
复制代码