DEDE CMS 是免费的吗?,第1张

这个问题的关键在于你要理解

foreach(Array('$_GET','$_POST','$_COOKIE') as $_request)

这里 $_request 实际上是一个二维数组 。本身$_GET $_POST $_COOKIE就是系统数组变量 通过 Aarry 将其动态生成为 二维数组。你可以用 is_array($_POST)来判断。

这句话 foreach遍历后组变量$_request实际上的值是 通俗将就是指向'$_GET','$_POST','$_COOKIE'这三个东西的 指针。

因此 再次遍历 就能把具体的 '$_GET','$_POST','$_COOKIE' 内容echo出来了

如果对二维数组遍历理解不透 去查查PHP手册。特别强调下 Aarry的用法。PHP中Array 是比较强大的。

对 系统变量数组有什么疑问 你可以 参考下 以下网址

http://wwwphpenet/manual/reservedvariablesphp

($_GET---通过 HTTP GET 方法传递的变量组成的数组。是自动全局变量。)

dede数据库字段说明:dede_addonarticle 附加文章表

aid int(11) 文章编号

typeid int(11) 分类栏目编号

body mediumtext 文章内容

dede_addonflash 附加Flash表

aid int(11) FLASH编号

typeid int(11) 分类栏目编号

filesize varchar(10) 文件大小

playtime varchar(10) 播放时长

flashtype varchar(10) 作品类型

flashrank smallint(6) 作品等级

width smallint(6) 影片宽度

height smallint(6) 影片高度

flashurl varchar(80) FLASH地址

dede_addonimages 附加图集表

aid int(11) 图集编号

typeid int(11) 分类栏目编号

pagestyle smallint(6) 表现方式(1单页显示 2分多页显示 3多行多列展示)

maxwidth smallint(6) 大图限制宽度

imgurls text 集内容(标签存放)

row smallint(6) 多列式参数(行)

col smallint(6) 多列式参数(列)

isrm smallint(6) 是否下载远程

ddmaxwidth smallint(6) 小宽度限制

dede_addonsoft 附加软件表

aid int(11) 软件编号

typeid int(11) 分类栏目编号

filetype varchar(10) 文件类型

language varchar(10) 界面语言

softtype varchar(10) 软件类型

accredit varchar(10) 授权方式

os varchar(30) 运行环境

softrank int(11) 软件等级

officialUrl varchar(30) 官方网址

officialDemo varchar(50) 程序演示地址

softsize varchar(10) 软件大小

softlinks text 软件下载链接列表

introduce text 软件介绍

dede_addonspec 附加专题表

aid int(11) 专题编号

typeid int(11) 分类栏目编号

note text 专题内容(仅存放标签代码)

dede_admin管理员信息表

ID int(10) 自动编号

usertype int(10) 用户类型

userid varchar(30) 用户登录ID

pwd varchar(50) 用户密码

uname varchar(20) 用户笔名

tname varchar(30) 真实姓名

email varchar(30) 电子邮箱

typeid int(11) 负责频道(0表示全部)

logintime datetime 登录时间

loginip varchar(20) 登录IP

dede_admintype 系统用户组管理表

rank smallint(6) 组级别编号

typename varchar(30) 组名称

system smallint(6) 是否为系统默认组

purviews text 权限列表

dede_arcatt文档自定义属性表

att smallint(6) 编号

attname varchar(30) 属性名称

dede_archives 文章表

ID int(11) 自动编号

typeid int(11) 所属主栏目编号

typeid2 int(11) 所属副栏目编号

sortrank int(11) 文章排序(置顶方法)

iscommend smallint(6) 是否推荐

ismake smallint(6) 是否生成静态

channel int(11) 文章所属模型

arcrank smallint(6) 阅读权限

click int(11) 点击次数

money smallint(6) 消费点数

title varchar(80) 标题

shorttitle varchar(36) 简略标题

color varchar(10) 标题颜色

writer varchar(30) 作者

source varchar(50) 来源

litpic varchar(100) 缩略图

pubdate int(11) 录入时间

senddate int(11) 发布时间

arcatt smallint(6) 自定属性(att)

adminID int(11) 发布管理员ID

memberID int(11) 发布会员ID

description varchar(250) 摘要

keywords varchar(60) 关键词

templet varchar(60) 文档模板

lastpost int(11) 最近评论时间

postnum int(11) 评论数目

redirecturl varchar(150) 跳转网址

mtype int(11) 用户自定义分类

userip varchar(20) 用户IP

locklikeid smallint(6) 是否锁定相关文章

likeid varchar(240) 相关文章ID

dede_arcrank 阅读权限表

ID int(10) 自动编号

rank smallint(10) 权限等级

membername varchar(20) 等级名称

adminrank smallint(10) 管理等级

money int(11) 消费点数

dede_arctype 栏目管理表

ID int(10) 栏目编号(自动编号)

reID int(10) 父栏目编号

topID int(10)

sortrank smallint(6) 排序编号

typename varchar(30) 栏目名称

typedir varchar(100) 栏目目录

isdefault smallint(6) 栏目列表选项(1链接到默认页 0链接到列表第一页 -1使用动态页)

defaultname varchar(20) 默认页的名称

issend smallint(6) 是否支持投稿

channeltype smallint(6) 频道类型

maxpage int(11) 保留

ispart smallint(6) 栏目属性

corank smallint(6) 浏览权限

tempindex varchar(60) 封面模板

templist varchar(60) 列表模板

temparticle varchar(60) 文章模板

tempone varchar(60) 单独页面模板

namerule varchar(50) 文章命名规则

namerule2 varchar(50) 列表命名规则

modname varchar(30) 模板名称

description varchar(200) 栏目介绍

keywords varchar(100) 关键词

moresite smallint(6) 多站点支持

siterefer smallint(6) 多站点站点根目录属性

sitepath varchar(60) 多站点站点根目录

siteurl varchar(60) 多站点绑定域名

ishidden smallint(6) 是否隐藏栏目

dede_sgpage 单页

上面是一些常用字段,可以在dede后台-》系统-》SQL命令行工具执行sql语句来批量修改!

DEDE CMS 是免费开源的。以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展,版本无论在功能,还是在易用性方面,都有了长足的发展和进步。

DEDE CMS是存在一定的漏洞。梦作为一个国内开源cms,社区缺乏更好技术支持和环境,所以漏洞频发。

2011-8-19,DedeCMS全局变量初始化存在漏洞。描述:可能导致黑客利用漏洞侵入使用Dede CMS的网站服务器,造成网站用户数据泄露、页面被恶意篡改等严重后果。

2012-3-21,DedeCMS官方源码被植入后门 。描述:导致黑客可以执行任意代码从而控制整个网站或服务器。

2013-3-29,DedeCMS安全漏洞。描述:“本地文件包含漏洞”,发现时为“0day”,官方已修复。

扩展资料:

dedecms优缺点分析:

优点:

易用:使用织梦你可以用十分钟学习它,十分钟搭建一个。完善:织梦基本包含了一个常规网站需要的一切功能。丰富的资料:作为一个国内cms,织梦拥有完善的中文学习资料。丰富的模版:织梦拥有大量免费的漂亮模版,可以自由的使用它们。

缺点:

缺乏灵活性:高度的功能集成造成了织梦灵活性的缺失,所以织梦扩展性并不是很好。安全:织梦作为一个国内开源cms,社区缺乏更好技术支持和环境,所以漏洞频发。社区:织梦的官方社区是收费的,这对于一个开源项目来说本身就是一个问题。

-织梦

So I guess:

你是在刚开始学习PHP,对照一本参考书将代码打到一个PHP文件exa10-1php里,或者就是复制光盘的文件,然后运行,没有出现想要的效果。

By the way,一定是一本比较薄的国产PHP参考书

So,

1 如何解决该问题

问题出在PHP的配置文件phpini里,你的程序需要自动全局变量,否则$action, $name, $message都得改成$_POST['action']类似的形式。而你本地的设置应该是关的。

打开phpini修改register_globals = Off为register_globals = On

重启APACHE或者IIS

2 如何解决类似的偶尔的,时常的,非常凡人的,莫名其妙的各种各样的问题

扔掉这本国产参考书,忘记它教你的任何东西,就像从来没有发生过一样。

买一本四五百页的翻译过来的还算新的国外的PHP5参考书,从第0页看到最后一页

Then

多做实例,你就可以拿四五千了(北京)

请看我的初学者的参考

2011-8-19 DedeCMS全局变量初始化存在漏洞

描述:可能导致黑客利用漏洞侵入使用DedeCMS的网站服务器,造成网站用户数据泄露、页面被恶意篡改等严重后果。

2012-3-21 DedeCMS官方源码被植入后门

描述:导致黑客可以执行任意代码从而控制整个网站或服务器

2013-3-29DedeCMS安全漏洞

描述:“本地文件包含漏洞”,发现时为“0day”,官方已修复

2013-4-1DedeCMS 爆SQL注入漏洞

描述:乌云平台曝光, “0day”,官方已修复

2013-5-2DedeCMS“重安装”高危安全漏洞

描述:被发现“0day”,通知官方修复并启用临时修复方案

2013-6-4DedeCMS 高危安全漏洞

描述:此漏洞为“0day”,官方已修复

2013-9-30DedeCMS 57版本高危漏洞

描述:乌云白帽子上报,“0day”,跨站脚本漏洞,可在前台插入恶意JS代码,黑客已经利用

2014-1-6DedeCMS会员投稿跨站脚本漏洞

描述:攻击者可通过“会员投稿”插入恶意代码,后台管理审稿时“中招”可导致网站被黑

2014-2-17swfuploadswf跨站漏洞

描述:该漏洞乌云平台上报,站长反馈网站在检测时检测出此漏洞,已提供修复方案

2014-3-4DedeCMS多个安全漏洞

描述:包括2个高危及多个曾经预警的官方没修复的漏洞。官方发布补丁修复但没有全部修复

2014-03-05dedecmsV5738 GBK正式版20140305常规更新补丁 member/soft_addphp修复功能错误及存在的漏洞member/soft_editphp修复功能错误及存在的漏洞include/filterincphp修复功能错误及存在的漏洞2014-03-11dedecmsV5739 GBK正式版20140311常规更新补丁 data/module/606c658db048ea7328ffe1c7ae2a732fxml新增畅言模块include/helpers/channelunithelperphp模板标签解析功能完善include/inc/inc_fun_funAdminphp更新提示站点迁移完善include/taglib/flinklibphp友情链接标签缓存完善2014-03-13dedecmsV5740 GBK正式版20140313常规更新补丁 include/helpers/channelunithelperphp修复一个标签解析错误2014-11-28DEDECMS官方网被黑,黑客在织梦服务器端植入恶意代码,所有织梦用户访问后台时会提示下载1exe文件,该程序为后门,一旦下载便会感染成为远控端,而且该病毒会实现反复感染。如果用户为IE浏览器,则会直接感染成为远控端。

一、修改文件:\include\taglib目录下的channellibphp,请将以下代码全部复制替换上述文件

<php

function lib_channel(&$ctag,&$refObj)

{

    global $_sys_globals,$envs,$dsql;

    $attlist = "typeid|0,reid|0,row|100,col|1,type|son,currentstyle|";

    FillAttsDefault($ctag->CAttribute->Items,$attlist);

    extract($ctag->CAttribute->Items, EXTR_SKIP);

    $innertext = $ctag->GetInnerText();

        $cacheid = trim($cacheid);

    if($cacheid !='') {

        $likeType = GetCacheBlock($cacheid);

        if($likeType != '') return $likeType;

    }

    $reid = 0;

    $topid = 0;

    if(empty($typeid) && $envs['typeid']!=0)

    {

        $typeid = $envs['typeid'];

        $reid = $envs['reid'];

    }else{

        $reid=0;

    }

    if($type==''||$type=='sun') $type="son";

    if($innertext=='') $innertext = GetSysTemplets("channel_listhtm");

    if($reid==0 && $typeid>0)

    {

        $dbrow = $dsql->GetOne("Select reid From dede_arctype where id='$typeid' ");

        if(is_array($dbrow)) $reid = $dbrow['reid'];

    }

    $likeType = '';

    if($type=='top')

    {

        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

          From dede_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row";

    }

    else if($type=="son")

    {

        //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];

        if($typeid==0) {

            return '';

        }

        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

          From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";

    }

    else if($type=="self")

    {

        if($reid==0) {

            return '';

        }

        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

            From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";

    }

    //And id<>'$typeid'

    $needRel = false;

    $dtp2 = new DedeTagParse();

    $dtp2->SetNameSpace("field","[","]");

    $dtp2->LoadSource($innertext);

    $dsql2 = clone $dsql;

    $dsql->SetQuery($sql);

    $dsql->Execute();

    $line = $row;

        //检查是否有子栏目,并返回rel提示(用于二级菜单)

    if(ereg(':rel', $innertext)) $needRel = true;

   

    if(empty($sql)) return '';

    $dsql->SetQuery($sql);

    $dsql->Execute();

   

    $totalRow = $dsql->GetTotalRow();

    $GLOBALS['autoindex'] = 0;

    for($i=0;$i < $line;$i++)

    {

        if($col>1) $likeType = "<dl>\r\n";

        for($j=0;$j<$col;$j++)

        {

            if($col>1) $likeType = "<dd>\r\n";

            if($row=$dsql->GetArray())

            {

                            $row['sonids'] = $row['rel'] = '';

                if($needRel)

                {

                    $row['sonids'] = GetSonIds($row['id'], 0, false);

                    if($row['sonids']=='') $row['rel'] = '';

                    else $row['rel'] = " rel='dropmenu{$row['id']}'";

                }

                //处理同级栏目中,当前栏目的样式

                if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )

                {

                    if($currentstyle!='')

                    {

                    $linkOkstr = $currentstyle;

                    $row['typelink'] = GetOneTypeUrlA($row);

                    $linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr);

                    $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr);

                    $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr);

                    $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);

                    $likeType = $linkOkstr;

                    }

                }else

                {

                    $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);

                    if(is_array($dtp2->CTags))

                    {

                        foreach($dtp2->CTags as $tagid=>$ctag){

                            if(isset($row[$ctag->GetName()]))

                            {

                                $dtp2->Assign($tagid,$row[$ctag->GetName()]);

                            }

                            elseif (preg_match('/^sonchannel[0-9]$/',$ctag->GetName()))

                            {

                                $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2));

                            }

                        }

                    }

                    $likeType = $dtp2->GetResult();

                }

            }

            if($col>1) $likeType = "</dd>\r\n";

            $GLOBALS['autoindex']++;

        }//Loop Col

        if($col>1)

        {

            $i += $col - 1;

            $likeType = "    </dl>\r\n";

        }

    }//Loop for $i

    reset($dsql2);

    $dsql->FreeResult();

    return $likeType;

}

function lib_channel_son($ctag,$typeid = 0,$dsql2)

{

    $attlist = "row|100,col|1,currentstyle|";

    FillAttsDefault($ctag->CAttribute->Items,$attlist);

    extract($ctag->CAttribute->Items, EXTR_SKIP);

    $innertext = $ctag->GetInnerText();

    $dsql3 = clone $dsql2;

    $likeType = '';

    //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];

    if($typeid==0) {

        return '';

    }

    $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

          From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";

    //And id<>'$typeid'

    $dtp2 = new DedeTagParse();

    $dtp2->SetNameSpace("field","[","]");

    $dtp2->LoadSource($innertext);

    $dsql2->SetQuery($sql);

    $dsql2->Execute();

    $line = $row;

    for($i=0;$i < $line;$i++)

    {

        if($col>1) $likeType = "<dl>\r\n";

        for($j=0;$j<$col;$j++)

        {

            if($col>1) $likeType = "<dd>\r\n";

            if($row=$dsql2->GetArray())

            {

                $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);

                if(is_array($dtp2->CTags))

                {

                    foreach($dtp2->CTags as $tagid=>$ctag){

                        if(isset($row[$ctag->GetName()]))

                        {

                            $dtp2->Assign($tagid,$row[$ctag->GetName()]);

                        }

                        elseif (preg_match('/^sonchannel[0-9]$/',$ctag->GetName()))

                        {

                            $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3));

                        }

                    }

                }

                $likeType = $dtp2->GetResult();

            }

            if($col>1) $likeType = "</dd>\r\n";

        }//Loop Col

        if($col>1)

        {

            $i += $col - 1;

            $likeType = "    </dl>\r\n";

        }

    }//Loop for $i

    reset($dsql3);

    $dsql2->FreeResult();

    return $likeType;

}

>

二、在模板调用

实例:

{dede:channel type='son' typeid='改成你的大栏目ID'}

              [field:typename/]

                    <ul>

                    [field:sonchannel0]

                    <li><a href="[field:typelink/]">[field:typename/]</a></li>

                         [field:sonchannel1]

                        <li><a href="[field:typelink/]">---[field:typename/]</a></li>

                             [field:sonchannel2]

                            <li><a href="[field:typelink/]">===[field:typename/]</a></li>

                                [field:sonchannel3]

                                <li><a href="[field:typelink/]">===[field:typename/]</a></li>

                                 [/field:sonchannel3]

                             [/field:sonchannel2]

                         [/field:sonchannel1]

                    [/field:sonchannel0]

                    </ul>

 {/dede:channel}

模板调用    [field:sonchannel0] [/field:sonchannel0] 这个是用来取子栏目用的(使用[sonchannel+数字] 作为标签名是为了防止嵌套的时候无法正确解析标签)

这个的作用就是当你的栏目有很多子栏目 无限分级的时候方便你取子栏目的。

include是DEDECMS的系统文件夹,里面放的是DEDECMS系统下的一些系统功能函数文件和功能定义与说明以及参数的文件。\x0d\include目录文件作用解析\x0d\arcarchivesclass 主文档类(Archives类)\x0d\arccaicaiclass 踩踩文档类\x0d\arcfreelistclass 自由列表类\x0d\arclistviewclass 文档列表类\x0d\arcmemberlistviewclass 会员列表视图类\x0d\arcpartviewclass 视图类\x0d\arcrssviewclass RSS视图类\x0d\arcsearchviewclass 搜索视图类\x0d\arcsglistviewclass 单表模型列表视图类\x0d\arcsgpageclass 单表模型视图类\x0d\arcspecviewclass 专题视图类\x0d\arctaglistclass Tag列表类\x0d\channelunitclass 频道模型单元类\x0d\commonfunc 系统核心函数存放文件\x0d\commoninc 系统变量定义文件\x0d\datalistcpclass 动态分页类\x0d\typelinkclass 栏目连接\x0d\userloginclass 管理员登陆类\x0d\vdimgck 验证码\x0d\typeunitclassadmin 栏目单元,主要用户管理后台管理处\x0d\typeunitclassmenu 栏目单元,主要用户管理后台管理菜单处\x0d\typeunitclassselector 栏目单元,选择框\x0d\uploadsafeinc 防止用户通过注入,强制限定的某些文件类型禁止上传\x0d\dedeattclass 属性的数据描述\x0d\dedecollectionclass Dede采集类\x0d\dedecollectionfunc 采集小助手\x0d\dedehtml2class 织梦HTML解析类V16 PHP版,针对于采集程序,主要是获取某区域内的、超链接等信息\x0d\dedehttpdownclass 织梦HTTP下载类\x0d\dedemoduleclass 织梦模块类\x0d\dedesqlclass 数据库类,系统底层数据库核心类\x0d\dedesqliclass 数据库类\x0d\dedetagclass Dede织梦模板类\x0d\dedetemplateclass 模板引擎文件\x0d\dedevoteclass 投票类\x0d\diyformcls 自定义表单解析类

首先建议你好好学习一下php语法,任何一个网站程序都有很大的漏洞,正如微软每过一段时间都要发布漏洞补丁,如果你的技术超过他就不存在漏洞;其次,要做好安全防护,任何一个疏忽都会造成致命打击;最后希望你多多向前辈请教,也希望你尽快渡过难关

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » DEDE CMS 是免费的吗?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情