|
网站安全都是服务器配置、文件权限控制和网站程序三者的相互配合,如果要对DedeCms网站程序的修改来提高安全性。"可执行的文件不允许被修改,可写文件不允许被访问"这是网站权限控制的根本原则,网站程序在"可写文件不允许被访问"方面可做许多工作。我们可以在如下几个方式做好保护:
1、改名根目录下的data目录,或者移动到网站目录外面
data目录便是最藏污纳垢的地方,系统经常要往这个目录写数据,这个目录下的任何一个文件又都可以通过URL访问到,所以要让浏览器访问不到里面的文件,就需要将此目录改名,或者移动到网站的目录外面去。这些,即使别人通过漏洞往文件里写进了一句话木马,他也找不到此木马所在的文件路径,无法继续展开攻击。因为DedeCMS程序的不合理,导致改名data目录动作会比较大,具体做法如下:
a.将公开的内容迁移到pub目录(或者其它自定义目录)下,如rss、sitemap、js、enum等,此步骤需要移动文件夹,并修改这些文件的生成路径
b.修改引用程序目录
c.修改data文件夹名称,并修改include/common.inc.php文件里的"DEDEDATA"的值,再在后台系统设置》参数设置里修改模板缓存目录,即可修改完成。以后也可以按照此步骤来更改data文件夹名称。
2、改名"dede"管理目录,并加固
如果把后台隐藏好了,即使别人获得了你的管理员账号、密码,他也无从登录。
a.在/dede/config.php里,找到如下行:
1
//检验用户登录状态
2
$cuserLogin = new userLogin();
3
if($cuserLogin->getUserID()==-1)
4
{
5
header("location:login.php?gotopage=".urlencode($dedeNowurl));
6
}
把上面代码,改为:
1
//检验用户登录状态
2
$cuserLogin = new userLogin();
3
if($cuserLogin->getUserID()==-1)
4
{
5
//header("location:login.php?gotopage=".urlencode($dedeNowurl));
6
header("HTTP/1.0 404 Not Found");
7
exit();
8
}
b.修改/dede/login.php的文件名称,并对应的修改/dede/templets/login.htm里的表单提交地址;
c.修改/dede/的目录名称;
这样,别人在没有登录前,只能访问/dede/login.php改名后的地址,访问其他地址均会获得404错误。
当然,做了安全加固后,以后DedeCMS的升级就会有一些麻烦。 |
|