谁清楚phpcms和dedecms各个缺点和优点

谁清楚phpcms和dedecms各个缺点和优点,第1张

数据库添加一个账号和密码 dede_admin表

pwd:c3949ba59abbe56e057f   是123456加密后的字符串,你登陆时的密码就是123456,用户名是admin1,可以自己定义

首先回答你f297a57a5a743894a0e4密码的明文是什么?

答: admin

补充回答,是不是md5加密?

答:是,但是admin正常的md5加密32位后是这个样子

md5(admin,32) = 21232f297a57a5a743894a0e4a801fc3

你会发现和织梦的不完全一样,为啥呢

这是因为DEDE是用MD5对用户密码进行加密,但是实际上DEDE还将MD5加密后生成的字符串进行了一定处理,已经不是简单的MD5

dede后台密码在mysql中的加密方式为:明文密码经过MD5加密后生成32位字符串,然后去掉前5位和后7位,剩下的20位存入数据库。

phpcms优点:

1 模块化安装,非常适合安装,拆卸,和拿到市场上去交易非常方便的。

2 灵活的标签语法,非常强大。

3 缓存做的非常优秀。几乎支持目前主流的几大缓存系统解决方案,file缓存,eaelerator缓存,memcache缓存,shmop缓存等

4 安全性也不错的。后台为了防范入侵,采用了cookie和session同时存在验证技术,才可以安全进入后台。

多次登录失败,开启验证码功能。防止机器人频繁猜口令。

5 数据库。在根目录下的include目录下,db_aessphpdb_mssqlphpdb_mysqlphp等,就照着他的方法,在增加几个也没问题的。

6兼容性。是在php4的基础上开发的,所以向下兼容性是不错的。在include/globalfuncphp 这个文件可以看到很多if(!function_exist()){},这些代码就是为了兼容php4相关函数。

phpcms缺点:

1 后台对应的模块的功能列表url,从数据库中读取的,也即是,安装的时候,将url写入数据库了。这个如果二次开发要修改的话,不是很方便的,最好是写到文件中,读取文件内容,方便开发者开发,而且也更容易维护,如果是出于安全考虑的话,不妨加下密也可以的。

2 分部式。 后台的某些功能模块,还是要调用各个应用模块的admin部分,相关*.inc.php文件. 如果我要把其中某个模块或应用独立出去部署到其他的服务器上,就不方便了。

3数据库设计问题,后台开设模型时,表的引擎只能是myIsam,而不能选择其他的,字段的类型,比如要开设一个字段为number,类型为int,但是在新增加的模型表中还是以varchar出现,而不是int,长度是默认的255modelfiled表,才发现该系统是将类型写到该表中了。

4加密/解密程序。目前已经在想相关安全网站已被爆以破解。这也不是什么新闻了。在开发中,关注下相关安全厂商发布的漏洞。

5 数据库抽象层。就以上提到的几个数据库文件。 db_mssqlphp db_mysqlphp db_aessphp 等对于数据库分布式,应该没问题的。 数据库抽象层处理数据比较快,且快平台更容易且更容易维护,这个是需要考虑的。

Dedecms功能实用,模板功能使用简单。

你能登上服务器吗,能登上服务器是可以找回的。

密码在dede_admin这一表单,双击表单,点击pwd这一项,然后输入c3949ba59abbe56e057f,再点击执行,这样一来,网站后台的登录密码就变成了123456。然后登录网站后台,自行修改网站密码。

如果登不上服务器追问我,还有别的方法可以解决

默认用户名和密码是admin。\x0d\修改方法如下:\x0d\\x0d\1、在DEDEcms后台进入系统/备分网站数据,备分时去掉所有数据表,仅勾选dede_admin这个表进行备分,\x0d\2、然后ftp下载data\backupdata文件中的相应备分文件,然后打开修改里面的管理员用户名为自己想要的名字,再上传上去覆盖原文件,\x0d\3、进入DEDEcms后台进行数据还原,DEDEcms总管理员名称修改完成。

其实Base64的加密和解密的算法不是很复杂,首先是定义自己64位的密钥,64个字符是固定,但是顺序是可以随自己的设计而变化。例如:

char[] BaseTable=new char[64]{

'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',

'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',

'0','1','2','3','4','5','6','7','8','9','+','/'};

接下来,在加密的时候就是对于需要加密的每个字符,通过一定的算法,转换成上面64字符的一种;而在解密的时候则是把64字符中任意一个字符反算出加密前的字符。对于每个字符的操作有很多方法,这里就不一一介绍了。需要注意的是“=”字符,在Base64加密算法中,是很重要的,它是起到补零作用。

以下是完整代码:

//----------------------------- Base64 class --------------------------------------

//---------------------------------------------------------------------------------

//---File:clsBase64

//---Description:The class file to encode string or decode string in base algorith

//---Author:Knight

//---Date:Oct8, 2005

//---------------------------------------------------------------------------------

//----------------------------{ Base64 class }-------------------------------------

using System;

namespace Base64

{

/// <summary>

/// Summary description for clsBase64

/// </summary>

public class clsBase64

{

private char[] source;

private char[] lookupTable;

private int length, length2, length3;

private int blockCount;

private int paddingCount;

public clsBase64()

{

//

// TODO: Add constructor logic here

//

source = null;

length = length2 = length3 =0;

blockCount = 0;

paddingCount = 0;

}

/// <summary>

/// Create base64 char array using default base64 char array

/// </summary>

/// <param name="CreatePara"></param>

/// <returns>return the new base64 char array</returns>

private char[] CreateBase64Char( ref char[] CreatePara )

{

char[] BaseTable=new char[64]{

'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',

'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',

'0','1','2','3','4','5','6','7','8','9','+','/'};

const int CREATE_TYPE = 8;

byte bParaValue = 0;

byte bTemp;

for( int i = 0; i < CreateParaLength; i++ )

{

bTemp = ( byte )( CreatePara[i] );

switch( bTemp % CREATE_TYPE )

{

case 1:

// 00000001

bTemp =( byte )( bTemp ^ 0x01 );

break;

case 2:

// 00000010

bTemp =( byte )( bTemp ^ 0x02 );

break;

case 3:

// 00000100

bTemp =( byte )( bTemp ^ 0x04 );

break;

case 4:

// 00001000

bTemp =( byte )( bTemp ^ 0x08 );

break;

case 5:

// 00010000

bTemp =( byte )( bTemp ^ 0x10 );

break;

case 6:

// 00100000

bTemp =( byte )( bTemp ^ 0x20 );

break;

case 7:

// 01000000

bTemp =( byte )( bTemp ^ 0x40 );

break;

default:

// 10000000

bTemp =( byte )( bTemp ^ 0x80 );

break;

}

bParaValue =( byte )( bParaValue ^ bTemp );

}

char chrTemp;

int nIndex;

switch( bParaValue % CREATE_TYPE )

{

case 1:

// Exechange 0 <--> 1, 2 <--> 3, 4 <--> 5, 6 <--> 7

for( int i = 0; i < BaseTableLength / CREATE_TYPE; i++ )

{

回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 谁清楚phpcms和dedecms各个缺点和优点

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情