欢迎光临
我们一直在努力

织梦DEDECMS安装页面出现dir

老K阅读(914)

很多人在买了的dede织梦CMS的(二次开发)的源码,安装时出现dir,认为这套源码时不能安装的 ,我今天给大家带来一个这样的教程吧!

很多用户对织梦不是很熟悉的话,多次安装织梦的话,会出现“DIR”,织梦(dedecms)程序虽然简单,但是在php空间运行的过程当中,也难免会遇到各种各样的问题,比如后台账号密码忘记之类的。

不过这次是在安装的时候提示“dir”,那么出现“dir”提示是怎么回事呢?下面就来解决这个问题。

1.遇见安装页面出现dir

2.你这个肯定是已经安装过了的程序,把install文件夹下的index.html删掉,

你再看看install文件夹下有没有install_lock.txt 和index.php.bak 这2个文件,如果有把install_lock.txt 文件删掉,index.php.bak 改名改为index.php

删除index.html

删除install_lock.txt 

重命名index.php.bak为index.php

这样就可以重新安装了

DedeCMS 分表存储(实现一个栏目对应一个表)详细操作

老K阅读(1055)

以前一直是帝国CMS(织梦cms)的粉丝,虽然一直用帝国CMS,很赞它的一些内核设计,多表储存更加有利于优化,唯一可惜的可能就是WC分不开身吧,网站的美工和人性化不高,我虽然使用那么久,但我绝对不会迷信一样东西,就像你要问我这个世界有真理吗?我想我会说没有绝对的真正…

于是我想尝试dedecms,但突然之间冒出来一个问题,关于分表,就顺随在dede论坛里搜索分表,一看,大家都在写什么啊,dede的分表有那么难实现吗?

于是我着手调查dede的后台。

这里我严重的回答一个问题,可能是大家忽略的,新站怎么分表储存?也就是一个栏目对应一个表,做得到吗?因为以前用帝国CMS的时候就习惯先建表,再建栏目,再选择栏目对应的列表或内容模版,于是我就利用我这个逻辑去观察了一下dede,结论是可行的。

以现在的5.5版本为例,大家进入后台管理界面,看到左边的核心,点击它,往下看,看到频道模型,这里面有5项,分别是:内容模型管理/单页文档管理/联动类别管理/自由列表管理/自定义表单。

以新闻系统来说,如果我们要建立多个新闻栏目,希望每个栏目都有单独的数据表,而不希望等栏目数据多了以后再来后悔当初没有进行分表,所以我们在开始建立栏目之前,要进行进对 频道模型里,普通新闻 这个模型进行 复制 的操作,这一步就是大家所谓的分表。

自动草稿

点击 普通新闻 右边的第一个图标进行表的复制。

下面来到表的复制界面

自动草稿

这里默认的附加表名称是:dede_addonarticle17

确定以后进入此表的一些详细设置,我们可以看见频道名称这个填空项,如下图:

在这里可以个修改成你即将要建设的新栏目的名称,比如你想建一个新栏目叫做资讯,那么这里同样可以起名叫资讯,以便你在建立栏目时选择数据表,也就是不同模型时用于区分,如下图:

自动草稿

然后把栏目保存好以后,一个栏目对应一个分表就这样轻松的实现了。

————————————————————–
PS:循环以上操作可建立多个独立表的栏目
————————————————————–

你们自己看下,你们在论坛讨论的那些,请在搜索“分表”,都是个什么问题,说得乱七八糟,最后一个个还搞得一头雾水,建立分表没那么难,我之前还以为dede把分表这功能拿掉了,不然如何会有那么多朋友提问。

也就是说帝国CMS强大的多表储存,dede接近完美的实现了,也可以新建自段,这一点,我很满意。

只是我有一个问题哦,这样新建起来的模型想删除的时候就删除不了,被列为系统模型,但这是手动建的呢?需要修改,在检测没有栏目使用的情况下可以删吧,不然我想可能会造成数据表的冗余。

三个方法:DedeCMS数据负载性能优化方案

老K阅读(928)

DedeCMS数据负载性能优化方案(分表存储,标签优化,索引优化)

接触织梦也有N年多时间了,对它可谓是又爱又恨。它的模板简单易用,标签调用更是灵活,二次开发也非常方便。可是,站点数据庞大起来的时候(30多万条),后台就会变得异常缓慢,生成HTML也很吃力,毫不夸张的说,头发都等白了。这不禁让我对DedeCMS数据负载性能产生了置疑?

 

查阅了相关资料,结合自身站点实际,还是总结出了一套不错的DedeCMS数据负载性能优化方案。废话不说,直接进入正题。

1)数据分表存储 减轻数据单表压力

自织梦V5版本起,DedeCMS开始分表存储以提高系统负载性能,确实在一定程度上缓解了数据压力。现在最新的DedeCMS V5.7版本已经出来了,据官方介绍,V5.7调整了缓存处理,应付50万以内数据没问题,至于真实性无从考究。如果官方陈述属实的话,对于中小型站长来说确实是件好事,正常百万级内数据也不用过多担心了。

分表存储如何操作?

如果你只是个人或企业等小型站点,数据量也就撑死上万,那完全不用考虑分表存储,DedeCMS完全可以胜任。分表操作很简单,你只需要直接进入后台,新建模型,然后设置一个栏目对应一个模型。个人建议一个大的频道栏目及子栏目对应一个模型,这要根据你的栏目可能存储的数据来做计划,考虑实际一点的分表方案。

Dedecms分表存储详细操作步骤:http://www.laoking.net/webcms/dedecms/201911894.html

2)修改系统参数 arclist标签另类优化

在DedeCMS V5版本中,官方其实已经做了极力优化,引入了缓存机制。其实影响HTML生成速度的罪魁祸首还是模板中的arclist标签,很多站长喜欢用arclist标签来调用最新、热门、推荐、头条等文章列表,但是arclist标签每次都带着一大堆条件去主表中查询,可能还会关联附加表,对一次性生成大量文章来说,只是重复使用arclist标签对数据库重复查询罢了,自然会花去大量时间。现在DedeCMS新的版本中,生成HTML时arclist标签会直接调用缓存数据,省去arclist标签重复查询数据库的时间,顿时让上述工作变得轻松起来,生成速度得到提升也是必然的。你只用在系统参数->性能选项中,找到arclist标签调用缓存(cfg_index_cache)(0 不启用,大于0值为多少秒),根据自身实际需求调整缓存调用时间。

其实,还有一种解决办法,就是麻烦了一些,但是对性能提升是非常显著的。arclist标签调用缓存虽说一定程度上提高了HTML生成速度,但是还是需要对arclist缓存进行判断,如果能把这部分时间也省去,那是不是会更快呢?答案是肯定确定以及双重否定。我们可以通过freelist(自由列表)功能事先生成最新、热门、推荐、头条等文章列表页面,然后用include标签直接引入到模板里,标签格式为:{dede:include file=’文章列表页面文件名称’ ismake=’ no’/}。如果你的站长数据很庞大,服务器硬件配置也一般的话,何不尝试一下呢?

另外,系统参数-核心设置里默认的关键字替换功能(cfg_keyword_replace)是开启的,如果文章是采集过来的,还是关闭的好,有很多关键字都毫无意义,甚至会有乱码导致生成出错,关掉此功能对提高系统性能是有一定帮助的。

3)数据库表索引优化 性能大幅提升

为什么要对DedeCMS数据库表索引进行优化呢?很简单,在Mysql中,索引无疑是最有效的加快查询的工具了,一个合理的索引组合会极大地提升你的查询效率和系统性能。言归正传,你可以通过phpmyadmin或是一个叫Navicat for MySQL的软件(推荐)来管理你的数据库。

分析DEDECMS数据表信息,不难发现,所有的文章数据是存储在dede_archives和dede_arctiny,以及对应的dede_addonarticle附加表中的。生成HTML时,sql查询主要围绕这三张表来的。个人认为,凡是要排序的字段和查询条件的字段及文档ID都要建立索引,如果一个没有建立,将会严重影响MySQL的查询效率,最终导致生成速度变慢。DEDECMS数据表索引建立方法如下:

a)dede_archives,是文章的主表,存储文章标题、关键字、描述、发布时间等信息,10万数据的表大小可能在30MB左右,也是我们优化的重点。你需要建立的索引字段有,id、channel、pubdate、sortrank、ismake、typeid、mainindex、lastpost;其中,像系统默认的mainindex和lastpost这两个组合索引,个人认为存在意义不大,可以删除,自己掂量。需要注意的是,click字段,是文档的点击数,此字段更新频率,建立索引后会对系统维护带来一定压力,另外也有人说频繁更新的建立索引会容易导致数据库损坏,也无从查证。个人建议click字段保留,不建立索引。

自动草稿

b)dede_arctiny,这个表比较小,10万数据的表大小不到5MB,建议不建立索引,可以将自带的删除掉,或者只保留sortrank索引。

c)dede_addonarticle,是文章附加表,主要是用来存储文章内容的,不作索引考虑。

以上索引成功建立后,再测试下你的HTML生成速度,是不是让你精神一振呢?

4)搭建胜过Apache十倍的高并发Web服务器 Nginx PHP(FastCGI)

Web服务器的重要性不需多言,对提升网站性能有着直接影响。在PHP开发中,最常用的环境莫过于在LAMP:Linux apache mysql php了,在windows下有WAMP:Windows apache/iis mysql php,我的WEB站点也是在这种环境下开发的。Nginx PHP(FastCGI)无疑是你最好的选择,在Windows和Linux下都可以安装,只是Windows下的Nginx表现要远远逊色于Linux。

DedeCMS系统运行是依赖PHP MYSQL环境的,所以说一个运行快、资源消耗小的Web服务器对提升系统性能有多重要。如果条件允许的条件,还是推荐下Nginx PHP(FastCGI)这种WEB服务器环境。

以上就是DedeCMS数据负载性能的优化方案,针对的是有独立WEB服务器或控制权限的站长,至于虚拟主机想达到这个速度还是很费劲的,但是也可以作为DedeCMS性能优化的一个参考依据,自己琢磨琢磨了。当然,如果有更好的提高DedeCMS数据负载性能的办法,还希望分享下。其实,正常情况下(不包括采集),一般站点数据量也都有限,20万就很了不起了吧?

我想,以上的DedeCMS优化方案足以解决了。真到了百万级、千万级数据的时候,也不是一般站长需要考虑的事了。

Dedecms文件目录结构解说(能知道织梦每个文件有什么用)

老K阅读(1219)

鉴于很多新手朋友不知道织梦很多目录和文件具体有何作用,而现互联网亦没有相对全面的dedecms文件目录解说,so,织梦新手网在相对全面的基础上整理了以下目录文件,莹莹首发!

以下一些目录对应的文件和代表的含义均是在相对详细下完成的,如若有错误请联系我们指出。了解织梦文件目录结构有什么?很简单,方便做安全(删除某些不需要的文件)和修改整个系统界面方便。当然更多的好处需要自己根据自己的需求进行挖掘定制了。

/根目录

../a 默认生成文件存放目录
../data 系统缓存或其他可写入数据存放目录
../dede 默认后台登录管理(可任意改名)
../images 系统默认的部分系统需要的图片目录
../include 程序核心系统文件目录
../install 安装文件目录
../member 会员系统目录
../plus 插件及辅助功能目录
../special 专题目录
../templets 模版目录
../uploads 默认上传文件目录
../index.php 网站默认动态首页文件
../robots.txt 限定搜索引擎命令
../tags.php TAG标签文件

/data数据目录

admin 系统后台常规配置,例如作者、快速导航、来源这些内容
backupdata 数据库备份存放目录
cache 系统缓存
enums 联动类别生成的缓存和js文件
js 栏目js调用生成的js文件
mail 未明确
mark 图片水印设置目录
module 系统后台那些模块相关文件
payment 在线支付的接口
rss 生成RSSmap存放的文件目录
safe 安全提问
sessions 系统sessions存放目录
tag 标签相关
textdata 文本数据,系统后台保存为文本数据存放目录
tplcache 模板缓存目录,这个缓存一般是那些动态页
uploadtmp 未确定
vote 默认投票文件
ziptmp 压缩缓存目录
common.inc.php 数据库连接信息
余下文件打开即可判定

/dede后台目录

css 后台界面样式文件
images 后台界面图片文件
inc 部分后台菜单名称配置
js 后台JS效果文件
templets 系统后台的模板存放目录
下属各模版文件(以下代表的是文件开头前缀部分)
ad 广告管理模块
album 图片模型相关发布更改
apiUChome 整合文件
archives 通用文档相关发布更改
article 文章模型相关发布更改
ask 问答模块
cards 点卡管理
catalog 栏目相关管理
co 采集相关
diy 自定义表单
file 文件管理器
freelist 自由列表管理
friendlink 友情链接管理
group 圈子模块
index2 后台头部页面
index_menu2 左侧总菜单
login 登录界面
mail 邮件功能
makehtml 生成更新
media 上传数据菜单
member 会员管理
module 模块制作
images 目录基本可以删除

/include目录

config_base.php 环境定义文件。用于检测系统环境,定义工作目录,保存数据库链接信息,引入常用函数等,建议不要修改。
config_hand.php 系统配置文件。定义系统常用的配置信息定义,可从后台管理直接生成该文件。
config_passport.php 通行证文件
config_rglobals.php 检测系统外部变量
config_rglobals_magic.php 同上
inc_archives_view.php 用于浏览文档或对文档生成HTML
inc_arclist_view.php 用于浏览频道列表或对内容列表生成HTML
inc_arcmember_view.php 用于浏览会员发布的文档
inc_arcpart_view.php 用于解析和创建全局性质的模板,如频道封面,主页,单个页面等
inc_arcsearch_view.php 用于文档搜索
inc_arcspec_view.php 用于浏览所有专题列表或对专题列表生成HTML
inc_channel_unit.php 用户解析特定频道的附加数据结构信息
inc_channel_unit_functions.php 系统共用函数集合
inc_downclass.php 防采集随机字符串函数
inc_freelist_view.php 用于对特定内容列表生成HTML
inc_functions.php 可供用户使用的函数集合
inc_imgbt.php GetTypeidSelMember
inc_memberlogin.php 用于用户登录及获得会员状态
inc_photograph.php 用于处理系统中的图片,例如水印,缩略图等
inc_photowatermark_config.php 图片处理参数定义
inc_rss_view.php 用于浏览频道RSS或对RSS生成静态文件
inc_separate_functions.php SpGetArcList函数,用于获得文档列表
inc_sitemap.php 用于生成网站地图
inc_type_tree.php 用于选择栏目的目录树
inc_type_tree_member.php 同上,会员使用
inc_typelink.php 用于显示文章的位置和栏目位置等
inc_typeunit_admin.php 用于频道管理时的一些复杂操作,主要用于后台
inc_typeunit_menu.php 同上
inc_userlogin.php 用于管理员登录
inc_vote.php 用于管理投票
jump.php 用于超链接跳转
pub_charset.php 共用字符处理函数,GB/UTF-8/Unicode/BIG5等互换
pub_collection.php 用于采集
pub_collection_functions.php 采集用函数
pub_datalist.php 后台管理用数据列表
pub_datalist_dm.php 同上,不使用模板
pub_db_mysql.php 用于操作数据库
pub_dedehtml2.php 用于采集中的HTML解析
pub_dedehtml.php HTML解析器
pub_dedetag.php 用于dede模板标签解析
pub_httpdown.php 用于下载http中的资源
pub_oxwindow.php 后台程序扩展
pub_splitword_www.php 织梦分词算法
validateimg.php 验证码
vdimgck.php 验证码

/inc目录

inc_fun_funAdmin.php 获取拼音码等函数
inc_fun_funString.php html代码处理等函数
inc_fun_SpGetArcList.php 获取文档列表SpGetArcList

/install安装目录

/member会员中心目录

plus 系统插件存放目录
guestbook 留言板插件
ad_js.php 广告插件
advancedsearch.php 搜索
bookfeedback.php 评论相关
bookfeedback_js.php 评论相关
bshare.php 分享
car.php 购物车相关
carbuyaction.php 购物车相关
comments_frame.php 评论相关
count.php 浏览次数等计数器
digg_ajax.php 顶功能相关
digg_frame.php 顶功能相关
disdls.php 下载次数统计
diy 自定义表单
download.php 下载模块相关
erraddsave.php 挑错
feedback.php 评论相关
feedback_ajax.php 评论相关
feedback_js.php 评论相关
flink.php 友情链接
flink_add.php 友情链接添加
freelist.php 自由列表
guestbook.php 留言板
posttocar.php 购物车相关
recommend.php 推荐文章给好友
stow.php 收藏功能
task.php 计划任务功能
view.php 文章阅读权限功能
vote.php 投票功能

/special专题存放目录

/templets织梦模板存放目录

/templets/default默认模板目录

article_article.htm 普通文章页面模板
article_default.htm 一般文档页面模板
article_flash.htm flash页面模板
article_image.htm 图集页面模板
article_soft.htm 软件页面模板
article_spec.htm 专题页面模板
index.htm 网站首页模板
index_article.htm 文章频道封面模板
index_article_webart1.htm
index_article_webart2.htm
index_article_webart.htm
index_default.htm 一般文档封面模板
index_flash.htm flash频道封面模板
index_image.htm 图集频道封面模板
index_soft.htm 软件频道封面模板
list_article.htm 文章列表模板
list_default.htm 一般文档列表目录模板
list_flash.htm flash文档列表模板
list_free.htm 自由列表模板
list_image.htm 图集列表模板
list_soft.htm 软件列表模板
list_spec.htm 专题列表模板

/templets/plus模板目录

download_links_templet.htm 下载链接模板
feedback_confirm.htm 评论确认模板
feedback_templet.htm 用户评论模板
feedback_templet_js.htm
flink-add.htm 友情链接添加模板
flink-list.htm 友情链接列表模板
guestbook.htm 留言本模板
heightsearch.htm 高级搜索模板
js.htm
recommend.htm 推荐好友模板
rss.htm RSS的XML模板
rssmap.htm RSS订阅文件
showphoto.htm 图片显示模板
sitemap.htm 网站地图模板
view_msg.htm 会员提示信息模板
vote.htm 投票结果显示模板

/uploads文件上传存放目录

织梦将系统的data目录迁移到web以外目录

老K阅读(1082)

data目录是系统缓存和配置文件的目录,一般都有可以读写的权限,只要是能够写入的目录都可能存在安全隐患,很多站长甚至给予这个目录可执行的权限,更是非常危险,所以我们建议将这个data目录搬移出Web可访问目录之外。本篇将介绍如何将data目录搬移出Web访问目录。

本操作需要用户对DedeCMS系统有较高的了解,如果您感觉自己不太掌握,可以考虑选择官方安全相关服务。

1.将data目录转移到非Web目录

我们这里举例“D:\dedecms\v57”为我们系统的根目录,我们需要将目录下的data文件夹(如图1)迁移要上一级目录(非Web目录),简单的办法直接剪切或者拷贝即可。

织梦将系统的data目录迁移到web以外目录

我们移动上一级目录中,注意观察文件路径。

织梦将系统的data目录迁移到web以外目录

2.修改DEDEDATA目录的配置常量

找到系统目录下/include/common.inc.php文件,修改DEDEDATA常量为你的系统目录。

织梦将系统的data目录迁移到web以外目录

3.配置tplcache缓存文件目录

进入系统后台,在配置中修改tplcache目录为你想对目录。

织梦将系统的data目录迁移到web以外目录

好了,这样我们就将data目录顺利迁移出去了。

本操作目前仅在V57系统中测试有效,其他版本系统可能需要进行调整。

相关文章:

关于织梦dedecms漏洞修复大全(5.7起)

DedeCms织梦的安全加固

织梦首页去掉index.html教程(亲测可用)

老K阅读(1718)

Dede默认生成首页后,首页的链接后面会多出一个index.html。

据官方说法这样有利于网站优化。 但是这个index.html怎么看都不舒服,而且也不利于seo中主页url的统一。

所以出于不让首页权重分散考虑,同时也是美观考虑,dede首页的index.html还是得去掉好。

网上给出的dede首页去掉index.html的方法如下:

按官方给的更新说明 替换index.php的内容 生成动态:

如果首页不需要生成HTML的, 把index.php换成下面代码

<?php
if(!file_exists(dirname(__FILE__).'/data/common.inc.php'))
{
header('Location:install/index.php');
exit();
}
require_once (dirname(__FILE__) . "/include/common.inc.php");
require_once DEDEINC."/arc.partview.class.php";
$GLOBALS['_arclistEnv'] = 'index';
$row = $dsql->GetOne("Select * From `dede_homepageset`");
$row['templet'] = MfTemplet($row['templet']);
$pv = new PartView();
$pv->SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']);
$pv->Display();
?>

完美解决织梦首页去掉index.html

织梦生成xml网站地图教程(亲测可用)

老K阅读(3076)

创建并提交sitemap有助于百度(Google)发现并了解您网站上的所有网页,包括百度通过传统抓取方式可能找不到的网页。

还可以使用sitemap提供有关你网站的其他信息,如上次更新日期、sitemap文件的更新频率等,供百度 (Google)spider参考。

织梦的XML插件很多都不能使用了,下面出一个教程,织梦生成xml网站地图教程(亲测可用)

当下最流行的网站后台管理系统中,织梦是比较常见的,但也有不少站长在抱怨说织梦的后台无法自动生成xml文件地图,接下来泽民教大家使用织梦生成xml地图,快速生成sitemap提升页面收录和抓取排名。经老K亲试可用,分享给大家。

织梦生成xml网站地图教程(亲测可用)

通过改造,把普通地图功能改成百度XML地图。

开始代码进行改造:

在 /templets/plus 目录下找到两个文件sitemap.htm 和 rssmap.htm,前者我们当中是百度的sitemap 后者我们当中谷歌的sitemap。

下面开始进行修改:

修改sitemap.htm :把原来的代码全部删除 然后用下面的代码。




{dede:global.cfg_basehost/}
always
1.0

{dede:arclist row=’10000′ orderby=’pubdate’}

[field:global.cfg_basehost/][field:arcurl/]
[field:pubdate function=”GetDateMK(@me)”/]

{/dede:arclist}
{dede:channelartlist row=’50’}

{dede:global.cfg_basehost/}{dede:field name=’typeurl’/}
{dede:php}echo date(‘Y-m-d’);{/dede:php}

{dede:channel type=’son’ row=’8′}

[field:global.cfg_basehost/][field:typelink/]
[field:id runphp=”yes”]@me=date(‘Y-m-d’);[/field:id]

{/dede:channel}
{/dede:channelartlist}

修改rssmap.htm:把原来的代码全部删除 然后用下面的代码:



{dede:arclist typeid=’0′ }
[field:global.cfg_basehost/][field:arcurl/] [field:pubdate function=”MyDate(‘Y-m-d’,@me)”/] daily 1.0
{/dede:arclist}
{dede:channelartlist row=50}
{dede:global.cfg_basehost/}{dede:field name=’typeurl’/} {dede:php}echo date(‘Y-m-d’);{/dede:php} daily 1.0
{dede:channel type=’son’ row=’8′}
[field:global.cfg_basehost/][field:typelink/] [field:id runphp=”yes”]@me=date(‘Y-m-d’);[/field:id] daily 1.0
{/dede:channel}
{/dede:channelartlist}

继续修改地图代码

下面继续修改程序代码,找到dede后台目录,找到 makehtml_map.php  修改,过程繁琐,直接放上整体代码如下:

/**
* 生成网站地图
*
* @version $Id: makehtml_map.php 1 11:17 2010年7月19日Z tianya $
* @package DedeCMS.Administrator
* @copyright Copyright (c) 2007 – 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
require_once(dirname(__FILE__).”/config.php”);
require_once(DEDEINC.”/sitemap.class.php”);
require_once(DEDEINC.”/dedetag.class.php”);
require_once DEDEINC.”/arc.partview.class.php”; if(empty($dopost))
{
ShowMsg(“参数错误!”,”-1″);
exit();
}
$isremote = empty($isremote)? 0 : $isremote;
$serviterm=empty($serviterm)? “” : $serviterm;
$sm = new SiteMap();
$maplist = $sm->GetSiteMap($dopost);
if($dopost==”site”)
{
$murl = $cfg_cmspath.”/sitemap.xml”;
$tmpfile = $cfg_basedir.$cfg_templets_dir.”/plus/sitemap.htm”;
}
else
{
$murl = $cfg_cmspath.”/rssmap.xml”;
$tmpfile = $cfg_basedir.$cfg_templets_dir.”/plus/rssmap.htm”;
}
//$dtp = new DedeTagParse();
//$dtp->LoadTemplet($tmpfile);
//$dtp->SaveTo($cfg_basedir.$murl);
$pv = new PartView();
$pv->SetTemplet($tmpfile); //在这里修改你的谷歌地图模板路径,相对于模板目录
$pv->SaveToHtml($cfg_basedir.$murl); //生成文件名,保存在根目录
if($cfg_remote_site==’Y’ && $isremote == 1)
{
if($serviterm!=””)
{
list($servurl, $servuser, $servpwd) = explode(‘,’, $serviterm);
$config=array( ‘hostname’ => $servurl, ‘username’ => $servuser,
‘password’ => $servpwd,’debug’ => ‘TRUE’);
} else {
$config=array();
}
if( $ftp->connect($config) )
{
//分析远程文件路径
$remotefile = $murl;
$localfile = ‘..’.$remotefile;
$remotedir = preg_replace(‘#[^\/]*\.html#’, ”, $remotefile);
$ftp->rmkdir($remotedir);
if($ftp->upload($localfile, $remotefile, ‘acii’)) echo “远程发布成功!”.” ”;
}
}
//$pv->Clear();
echo “成功更新文件: $murl 浏览…”;
exit();

基本差不多了,如果你配置成功了给我留一句言。

完成地图改造

使用方法:在你织梦后台生成的地方,点击更新网站地图,那么这个网站地图的问题就完美结局了。

访问路径为:http://www.laoking.net/sitemap.xml

织梦生成xml网站地图教程到此结束。

关于织梦dedecms漏洞修复大全(5.7起)

老K阅读(3156)

很多人说dedecms不好,因为用的人多了,找漏洞的人也多了,那么如果我们能修复的话,这些都不是问题.

好,我们来一个一个修复。修复方法都是下载目录下该文件,然后替换或添加部分代码,保存后上传覆盖(记得先备份),这样的好处是防止用懒人包上传之后因为UTF8和GBK不同产生乱码,或者修改过这几个文件,然后直接修改的部分被替换掉,那之前就白改了,找起来也非常的麻烦。如果你搜索不到,看行数,找相近的,然后将我标记红色的部分复制到对应位置。

任意文件上传漏洞修复

一、/include/dialog/select_soft_post.php文件,搜索(大概在72行的样子)

$fullfilename = $cfg_basedir.$activepath.’/’.$filename;

修改为

if (preg_match(‘#\.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i’, trim($filename))) { ShowMsg(“你指定的文件名被系统禁止!”,’javascript:;’); exit(); } $fullfilename = $cfg_basedir.$activepath.’/’.$filename;;

二、后台文件任意上传漏洞

/dede/media_add.php或者/你的后台名字/media_add.php

搜索$fullfilename = $cfg_basedir.$filename;(大概在69行左右)
替换成
if (preg_match(‘#\.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i’, trim($filename))) { ShowMsg(“你指定的文件名被系统禁止!”,’javascript:;’); exit(); } $fullfilename = $cfg_basedir.$filename;

三、 /include/uploadsafe.inc.php (有2个地方:)

1、搜索 ${$_key.’_size’} = @filesize($$_key);
}
(大概在42,43行左右)
替换成
${$_key.’_size’} = @filesize($$_key);
} $imtypes = array(“image/pjpeg”, “image/jpeg”, “image/gif”, “image/png”, “image/xpng”, “image/wbmp”, “image/bmp”); if(in_array(strtolower(trim(${$_key.’_type’})), $imtypes)) { $image_dd = @getimagesize($$_key); if($image_dd == false){ continue; } if (!is_array($image_dd)) { exit(‘Upload filetype not allow !’); } }
如果修改后出现文章页面空白页,请仔细查看代码是否多了或者少了大括号},本文件44行是空的,没有代码,请注意。

2、搜索 $image_dd = @getimagesize($$_key);(大概在53行左右)
替换成
$image_dd = @getimagesize($$_key); if($image_dd == false){ continue; }

老规矩大红色地方标记了修改的地方,然后保存,接着备份原文件,比如文件名变为uploadsafe.inc.php.16.08.09.bak。然后上传修改好的文件即可。

     (SQL)注入漏洞修复

一、 /include/filter.inc.php文件,搜索(大概在46行的样子)
return $svar;
修改为
return addslashes($svar);

二、/member/mtypes.php文件,搜索(大概在71行的样子)
$query = “UPDATE `dede_mtypes` SET mtypename=’$name’ WHERE mtypeid=’$id’ AND mid=’$cfg_ml->M_ID’”;
修改为
$id = intval($id); $query = “UPDATE `dede_mtypes` SET mtypename=’$name’ WHERE mtypeid=’$id’ AND mid=’$cfg_ml->M_ID’”;

三、 /member/pm.php文件,搜索(大概在65行的样子)
$row = $dsql->GetOne(“SELECT * FROM `dede_member_pms` WHERE id=’$id’ AND (fromid='{$cfg_ml->M_ID}’ OR toid='{$cfg_ml->M_ID}’)”);
修改为
$id = intval($id); $row = $dsql->GetOne(“SELECT * FROM `dede_member_pms` WHERE id=’$id’ AND (fromid='{$cfg_ml->M_ID}’ OR toid='{$cfg_ml->M_ID}’)”);

四、 /plus/guestbook/edit.inc.php文件,搜索(大概在55行的样子)
$dsql->ExecuteNoneQuery(“UPDATE `dede_guestbook` SET `msg`=’$msg’, `posttime`=’”.time().”‘ WHERE id=’$id’ “);
修改为
$msg = addslashes($msg); $dsql->ExecuteNoneQuery(“UPDATE `dede_guestbook` SET `msg`=’$msg’, `posttime`=’”.time().”‘ WHERE id=’$id’ “);;

五、 /plus/search.php文件,搜索(大概在109行的样子)
$keyword = addslashes(cn_substr($keyword,30));
修改为
$typeid = intval($typeid); $keyword = addslashes(cn_substr($keyword,30));

六、/member/soft_add.php   搜索(大概在154行左右)

搜索$urls .= “{dede:link islocal=’1′ text='{$servermsg1}’} $softurl1 {/dede:link}\r\n”;
替换成
if (preg_match(“#}(.*?){/dede:link}{dede:#sim”, $servermsg1) != 1) { $urls .= “{dede:link islocal=’1′ text='{$servermsg1}’} $softurl1 {/dede:link}\r\n”; }

     七、cookies泄漏导致SQL漏洞修复

1、/member/article_add.php文件,搜索(大概在83行的样子)
if (empty($dede_fieldshash) || $dede_fieldshash != md5($dede_addonfields.$cfg_cookie_encode))
修改为
if (empty($dede_fieldshash) || ( $dede_fieldshash != md5($dede_addonfields . $cfg_cookie_encode) && $dede_fieldshash != md5($dede_addonfields . ‘anythingelse’ . $cfg_cookie_encode)))

2、/member/inc/inc_archives_functions.php文件,搜索(大概在239行的样子)
echo “<input type=\”hidden\” name=\”dede_fieldshash\” value=\””.md5($dede_addonfields.$cfg_cookie_encode).”\” />”;
修改为
echo “<input type=\”hidden\” name=\”dede_fieldshash\” value=\””. md5($dede_addonfields . ‘anythingelse’ .$cfg_cookie_encode) .”\” />”;

    SESSION变量覆盖导致SQL注入漏洞

include/common.inc.php文件,搜索(大概在68行的样子)

if( strlen($svar)>0 && preg_match(‘#^(cfg_|GLOBALS|_GET|_POST|_COOKIE)#’,$svar) )
修改为
if( strlen($svar)>0 && preg_match(‘#^(cfg_|GLOBALS|_GET|_POST|_COOKIE|_SESSION)#’,$svar) )

 

支付模块注入漏洞

include/payment/alipay.php文件,搜索(大概在137行的样子)
$order_sn = trim($_GET[‘out_trade_no’]);
修改为
$order_sn = trim(addslashes($_GET[‘out_trade_no’]));;

 

变量为初始化导致本地变量注入

  /include/dedesql.class.php文件,搜索(大概在590行的样子)
if(isset($GLOBALS[‘arrs1’]))
修改为
$arrs1 = array(); $arrs2 = array(); if(isset($GLOBALS[‘arrs1’]))

如果之前定义过$arrs1或$arrs2的,请调整比对代码。

至此,dedecms漏洞修复大全含任意文件上传漏洞与注入漏洞(5.7起)就修改完毕了。

utf8版本下载地址:dede漏洞修复上传根目录

相关文章:

DedeCms的安全加固

DedeCms织梦的安全加固

老K阅读(8895)

织梦系统是目前开源CMS系统中,使用人数最多的系统之一,所以也被黑客们盯上了,官方对于系统的更新速度也比较慢,所以大家只能自己做好防范工作,这里老K博客跟大家详细讲述下几种方案。

一:尽量不要使用香港、国外等虚拟空间。

这类虚拟空间,安全性非常低,几百甚至几千个用户的网站都放在一台服务器上,一旦其中的某个网站被攻击,正好他也是织梦系统,那么你的完整就很容易被连带攻击。大家想一下,为什么你的网站才刚做,网站都没收录,百度都搜不到你,为什么黑客会知道你,并且攻击你,就是应该你被别人连带攻击了。
所以,极力推荐大家使用阿里云、腾讯云、景安等国内知名名牌的空间。

(为了安全起见,建议先保存备份,以下教程是老K总结经验,本人也是这样设置,并且没有任何问题)

二:网站本身做好防范:

1、修改默认后台名。

打开网站根目录,找到[dede],这个文件夹就是后台的路径,可以随意修改,比如修改为[admin],此时后台登陆的路径为:http://域名/admin/

2、删除member文件夹(如果你没有会员功能)

Member文件夹就是会员系统,织梦本身是自带里会员系统的,大家也可以在后台找到,但是很多用户都是做了企业站,并不需要会员功能,就像尚云模板网发布的基本都是企业站,所以并不需要会员系统,这时,大家就可以删除这个文件夹,删除他,不但可以防止攻击,还可减省了空间容量。

3、删除special文件夹

Special文件夹是专题的意思,放心删掉好了。

4、设置权限

对data/、templets/、uploads/、a/  网站目录文件夹设置为644可读写不可执行权限。

对include/、member/、plus/、dede/网站目录文件夹设置为755可读可执行不可写入权限。

5、后台文件删除

管理目录下的这些文件是后台文件管理器,属于多余功能,最影响安全,许多HACK通过它来挂马

DedeCms织梦的安全加固

dede目录下删除用于后台文件管理的文件:file_manage_control.php、 file_manage_main.php、file_manage_view.php、media_add.php、media_edit.php、 media_main.php

6、打开plus文件夹

留下这么几个文件,其他全部删除,参考下图;

DedeCms织梦的安全加固

下面我们对这几个文件做下解释,

Img文件夹,这个是主要是CSS样式在里面,所以保留,如果删除了,会造成发布文章时界面有点乱,所以要保留

ad_js.php这个文件时广告位,因为有些模板用到了后台调用广告位,如果你不确定,建议保留

Diy.php这个是留言系统,有些模板上有用户在线留言功能,用到的就是这个,如果你不确定,建议保留

Search.php这个是搜索功能,也就是网站上的搜索,如果你不确定,建议保留

List.php这动态栏目,尚云模板网上下载的都是生成静态栏目了,但是有些用户喜欢动态栏目,即使你使用的是静态栏目,这个保留也没影响,所以建议保留

View.php这个是动态文章,道理和list.php一样,建议保留。

count.php 这个是文章浏览次数,建议保留。

如果实在看不懂,就按照截图保留,其他的都删除,删除前建议备份一份。

三、删除根目录下的install文件夹,这是安装目录,因为我们都安装好了,所以这个没用了,删除即可。

这里要提醒一下大家,由于我们修改了内容,所以当你网站要搬家换服务器时,这时,你把网站传到了新的空间,这时你需要再次安装,发现安装文件[install]上次删除了,不用担心,直接去官方下载一个网站的系统,复制的他的install?传到你的空间,进行安装即可,但是你要知道自己网站的编码(gbk、utf)。不然安装界面会乱码。

另外,由于我们修改后台名等其他内容,所以安装时候会出现这样的情况,这个不用担心,只是系统没找到我们这个文件夹,因为我们修改了,大家直接下一步即可,但是如果你发现全部都是红色叉叉,那就是你空间权限问题了。

DedeCms织梦的安全加固

四、修改用户名和密码,修改密码很简单,后台系统系统用户管理,点更改,然后修改即可,但是用户名默认的是admin,大家发现不能修改用户名,其实是可以的,大家按下图操作:

DedeCms织梦的安全加固

找到功能地图,(如果模板网隐藏了这一链接,大家只要直接输入链接即可:sys_data_replace.php 

如:http://cs.laoking.net/dede/sys_data_replace.php

DedeCms织梦的安全加固

找到数据库内容替换,

DedeCms织梦的安全加固

新的用户名小心填错,以免不知道用户名,进不去后台。修改后,在后台退出,然后重新进后台,用新的用户名登录。

五、网站做好定期的备份工作,如有问题可以及时恢复!

相关文章:

关于织梦dedecms漏洞修复大全(5.7起)

大前端WP主题 更专业 更方便

联系我们联系我们