文档章节

迅睿CMS 网站安全权限划分

迅睿CMS-PHP开源CMS程序
 迅睿CMS-PHP开源CMS程序
发布于 08/12 09:56
字数 973
阅读 23
收藏 0

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

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

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

一、分离cache目录

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

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

2、打开web目录的 index.php

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

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

二、分离dayrui目录

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

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

2、打开web目录的 index.php

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

3、赋予新的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目录开启读写权限,生成完毕后,再设置只读权限

本文地址:https://www.xunruicms.com/doc/593.html

© 著作权归作者所有

迅睿CMS-PHP开源CMS程序

迅睿CMS-PHP开源CMS程序

粉丝 24
博文 240
码字总数 60283
作品 10
成都
高级程序员
私信 提问
迅睿 CMS 开源建站程序 - XunRuiCMS

一、程序架构 迅睿 CMS 框架是采用 PHP7 全新语法开发的 web 内容管理系统开发框架,拥有迅睿 CMS 强大的内容管理功能和灵活扩展的特性,堪称 PHP 万能建站框架。强大而灵活的内容模块和插件...

迅睿CMS-PHP开源CMS程序
07/30
2.1K
0
迅睿MALL开源商城系统

迅睿MALL开源商城系统是一套完善的B2B2C(多店铺商城)解决方案。系统使用国外优秀开源框架codeigniter4,H5端采用bootstrap,前后端分离,基于PHP7+MySQL开发,采用B/S架构,依据10年电商经验...

迅睿CMS-PHP开源CMS程序
08/08
2.1K
0
PHP内容管理框架 - PHPCMF

PHPCMF框架介绍 PHPCMF内容管理框架是基于PHP7语言采用最新CodeIgniter4作为开发框架生产的网站内容管理框架,提供“电脑网站 + 手机网站 + APP 接口”一体化网站技术解决方案。她拥有强大稳...

天睿云计算
04/04
5K
0
PHP 开源网站管理系统 - POSCMS

POSCMS 介绍 PHP 开源网站管理系统(PhpOpenSourceCMS,简称POSCMS)以开放、开源、灵活为产品理念,基于 PHP+MYSQL+CI 框架开发的开源 Web 内容管理系统,程序完美兼容 PHP7 ,并在 PHP7 基...

天睿云计算
2017/05/19
4.8K
4
宝利明威发布移动可信接入平台“睿动”:移动安全下一步如何部署?

移动设备的使用频率和重要性已远远超越PC,这一点对于个人用户和企业用户同样重要。越来越多的企业将核心业务向移动化迁移。从2016年开始,企业移动化市场显现出爆发式增长的势头。但是,硬件...

玄学酱
2018/05/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

定期批量改密,实现高效运维,保障口令安全

随着企业IT资产规模的不断增大,各类主机、应用系统的管理也变得愈加困难。 对于系统管理员来说,保证操作系统的密码安全是其重要工作,在需要维护众多的主机时,其面临的困境将是: 1、难以...

堡垒啊
31分钟前
5
0
怎样在磁盘上查找MySQL表的大小?这里有答案

导读 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎...

问题终结者
57分钟前
6
0
jQuery load() 方法实现加载远程数据

jQuery load() 方法是简单但强大的 AJAX 方法。load() 方法从服务器加载数据,并把返回的数据放入被选元素中。 语法: $(selector).load(URL,data,callback);必需的 URL 参数规定您希望加载的...

前端老手
58分钟前
5
0
Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存-2

问题 上一篇Spring Boot Cache + redis 设置有效时间和自动刷新缓存,时间支持在配置文件中配置,说了一种时间方式,直接扩展注解的Value值,如: @Override@Cacheable(value = "people#${s...

xiaolyuh
今天
10
0
怎样在磁盘上查找MySQL表的大小?这里有答案

我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应该在 INFORMATION_SCHEMA.TABLES 中提供这些信息吗?没那么简单! 我想知道 MySQL 表在磁盘上占用多少空间,但看起来很琐碎。不应...

Linux就该这么学
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部