IT俱乐部-城北日常经验分享

finecms网站安全权限划分

浏览: 1959    评论: 0

网站正式上线时的文件权限划分:

1、/dayrui/

此目录必须设置为只读状态,防止写入,安全起见这个目录设置浏览器不可访问


2、/config/

只读权限,它是用来存储一些自定义程序文件


3、/cache/

全部可读写权限,它是用来写缓存文件的,安全起见这个目录设置浏览器不可访问


4、/uploadfile/

文件上传目录


网站正式上线时的文件权限划分:

1、/dayrui/

此目录必须设置为只读状态,防止写入,安全起见这个目录设置浏览器不可访问


2、/config/

只读权限,它是用来存储一些自定义程序文件


3、/cache/

全部可读写权限,它是用来写缓存文件的,安全起见这个目录设置浏览器不可访问


4、/uploadfile/

文件上传目录,必须全部可读写权


5、/template和/static

推荐可读权限,模板和风格目录,如果需要后台编辑模板的话就需要设置可读写权限


6、/api/member/

会员头像存储目录,需要可读写权限



开发期间权限划分:

1、/dayrui/App/

当需要创建网站表单、内容模块、模块表单时,必须有可读写权限


2、/template/

当需要创建模块时,必须有可读写权限


创建表单或模块完毕之后,恢复《网站正式上线时的文件权限划分》



在线升级时注意:

后台升级版本是必须设置全站可读写权限。

在线完毕之后,恢复《网站正式上线时的文件权限划分》


Linux系统权限设置方法:

读写权限:chmod 777 -R /文件目录/
只读权限:chmod 755 -R /文件目录/


本教程需要具备PHP技术或者服务器运维技术人员

网站安全首选需要让能通过web域名访问的目录都设置为不可写入权限,这样能有力保证服务器不被恶意写入非法的文件。

本教程例子中的网站web目录假设为:/www/www.xxx.com/


准备工作:

首先找到index.php的同级别目录,然后看是否存在.user.ini文件

image

如果不会配置这个.user.ini的设计人员可以删除它,如何配置.user.ini教程里面有介绍



开始分离:

一、分离cache目录

cache目录必须具备可写入权限,默认可以通过web访问其内容,推荐把cache目录分离到其他目录(SSD硬盘最佳)

1、将cache目录移动到指定目录,例如/www/fenli/cache/

2、打开web目录的 index.php

3、查找// 缓存文件存储目录,支持自定义路径,建议固态硬盘存储缓存文件

define('WRITEPATH', '/www/fenli/cache/');

4、赋予新的cache可读写权限,如果网站正常访问就表示ok了


二、分离dayrui目录

dayrui目录是程序文件目录,存储的php业务逻辑程序文件,通常情况下需要具备可读写权限

1、将dayrui目录移动到指定目录,例如/www/fenli/dayrui/

2、打开web目录的 index.php

3、查找 //系统核心程序目录,支持自定义路径和改名 

将代码修改为 define('FCPATH', '/www/fenli/dayrui/');

4、赋予新的dayrui可读写权限,如果网站正常访问就表示ok了


三、分离模板template目录

template目录是存放模板文件的,实际项目中不建议将其暴露在web目录中,推荐进行分离

1、将template目录移动到指定目录,例如/www/fenli/template/

2、打开web目录的 index.php

// 此代码放到【执行主程序】代码之前
define('TPLPATH', '/www/fenli/template/');

3、赋予新的template可读写权限,如果网站正常访问就表示ok了


四、分离附件存储目录

uploadfile目录是附件存放的目录,安全起见,强烈推荐进行分离

1、将uploadfile目录移动到指定目录,例如/www/fenli/uploadfile/

2、再web服务器中为此目录绑定一个域名,例如:

www.abc-file.com

顶级域名二级域名都可以

3、必须设置此网站不能执行php代码,以宝塔BT服务器为例的配置:

image.png

纯静态的目的是为了此目录下的不允许执行php文件,增强被非法写入的安全性

4、进入cms后台,系统,附件设置

image.png

5、保存再更新缓存后,测试上传附件试试是否正常


五、头像分离存储

/api/member/目录是头像存放的目录,安全起见,强烈推荐进行分离

1、将/api/member/目录移动到指定目录,例如/www/fenli/touxiang/

2、再web服务器中为此目录绑定一个域名,例如:

www.abc-touxiang.com

顶级域名二级域名都可以

3、必须设置此网站不能执行php代码,以宝塔BT服务器为例的配置:

image.png

4、进入cms后台,系统,附件设置,头像分离设置

image.png

5、保存再更新缓存后,测试上传头像试试是否正常


六、给web目录设置只读权限

通过上面一到五的配置,已经把能具有写入权限的目录分离出去了,现在web目录剩下的文件都可以不需要写入权限

/www/www.xxx.com/

现在为web目录设置,只读权限,例如555权限。


友情提示:如果网站需要生成静态文件,需要提前为web目录开启读写权限,生成完毕后,再设置只读权限


全文详见:http://it-club.cn/post/198.html

TOP

评论列表


发表评论
来宾的头像

TOP

网站分类

TOP

站点信息

  • 文章总数:738
  • 页面总数:1
  • 分类总数:3
  • 标签总数:24
  • 评论总数:270
  • 浏览总数:10021107