查看完整版本: 将数据库与创始人信息隐藏得更深

偶的岁月 2007-8-10 23:58

将数据库与创始人信息隐藏得更深

昨天在PW官方论坛看到一个关于sql_config.php里面的内容被全部拿到的,这显然是相当危险的。
但是同时也在考虑,为什么每次漏洞的出现,都没有遇到过官方论坛被拿下的呢,是没有报道还是...
就这次的事件,如果官方没被拿下,那么多半的可能性是属于服务器的安全问题,而且很可能是windows系统的一个致命漏洞造成的。但这一切都仅仅是猜测。
   因此,还是希望将数据库信息以及创始人信息隐藏得更深并加密,从某种程序上为破解制造难度。
   抛弃数据库服务器的漏洞,来看看缓存的存储文件sql_config.php.
而涉及到这个文件的相关php文件是:
include sql_config.php files

global.php  这个可以很重要的哦
ck.php        验证码相关
admin/hackcenter.php   插件相关
new.php                        首页调用
admin/admincp.php       后台管理的全局文件,相当于前台的global.php
admin/chmod.php         文件属性检查文件
admin/manager.php     创始人更换创始人的页面。

知道了相关的几个页面,让我们来研究一下sql_config.php的文件结构。以下部分属于源码加本人的一些注释:
[code]
<?php
/**
* 以下变量需根据您的服务器说明档修改
*/
//********数据库相关的部分是在安装论坛的时候进行设置的,以后不会更改;危险的主因
//********剥离出来单独放到一个文件,如db_config.php
$dbhost = 'localhost';            // 数据库服务器
$dbuser = 'admin';            // 数据库用户名
$dbpw = '333333';                // 数据库密码
$dbname = 'pwsos';            // 数据库名
$database = 'mysql';            // 数据库类型
$PW = 'pw_';                    // 表区分符
$pconnect = '0';        //是否持久连接

/*
MYSQL编码设置
如果您的论坛出现乱码现象,需要设置此项来修复
请不要随意更改此项,否则将可能导致论坛出现乱码现象
*/
//**********数据库编码,一般不会更改
$charset='gbk';

/**
* 论坛创始人,拥有论坛所有权限
*/
//**********这个要是没了,可是损失惨重阿,论坛被完全控制了;
//**********如果不修改创始人,一般不更改
//**********毫无疑问,剥离出去,和数据库相关的配置信息单独存放在一个文件
$manager='pwsos';            //管理员用户名
$manager_pwd='8de19d9b4ecdfe0cda34144240dfcb23';        //管理员密码

/**
* 镜像站点设置
*/
//*****无关痛痒,不剥离
$db_hostweb='1';        //是否为主站点

/*
* 附件url地址,以http:// 开头的绝对地址  为空使用默认
*/
//*****无关痛痒,不剥离
$attach_url=array();


/**
* 插件配置
*/
//*****无关痛痒,不剥离。每次设置插件都要被更新的部分,加密了文件也会被重写。
$db_hackdb=array(

        'bank'=>array('银行','bank','1'),
        'colony'=>array('朋友圈','colony','1'),
        'advert'=>array('广告管理','advert','0'),
        'new'=>array('首页调用管理','new','0'),
        'medal'=>array('勋章中心','medal','0'),
        'toolcenter'=>array('道具中心','toolcenter','0'),
        'blog'=>array('博客','blog','0'),
        'invite'=>array('邀请注册','invite','0'),
        'passport'=>array('通行证','passport','0'),
        'team'=>array('团队管理工资设置','team','0'),
        
        );
?>
[/code]
好了,上述文件除了将要剥离出去的信息删除之外,其余保留,名称不更改;

将剥离出来的信息另存为一个新的文件,结构如下:
[code]
<?php
/**
* 以下变量需根据您的服务器说明档修改
*/
$dbhost = 'localhost';            // 数据库服务器
$dbuser = 'admin';            // 数据库用户名
$dbpw = '333333';                // 数据库密码
$dbname = 'pwsos';            // 数据库名
$database = 'mysql';            // 数据库类型
$PW = 'pw_';                    // 表区分符
$pconnect = '0';        //是否持久连接

/**
* 论坛创始人,拥有论坛所有权限
*/
$manager='pwsos';            //管理员用户名
$manager_pwd='8de19d9b4ecdfe0cda34144240dfcb23';        //管理员密码

?>
[/code]
假设另存为db_config.php,目录仍为data目录,不建议,隐藏得越深越好。
之后zend加密.

接下来,修改上述几个相关文件,不然论坛要出问题的。

圣刀 2007-9-16 19:21

高手ing:)smilies1 :)smilies1 :)smilies1

raul123 2007-9-22 04:09

学习中,,,,,,,,,,,,,传说中的高手

问情天下 2007-9-25 17:30

zend的加密方法哪个好?
页: [1]
查看完整版本: 将数据库与创始人信息隐藏得更深