php 目录555 权限_CMS网站安全权限划分设置教程

DiYunCMS(帝云CMS)-免费开源可商用的PHP万能建站程序

4bce1febaa5926f240a8b3b12e1f765c.png

CMS网站安全权限划分设置教程

网站安全是网站搭建运营过程中非常重要的一部分,DiYunCMS非常注重安全,开发了强大的安全功能。本文给大家介绍下DiYunCMS网站的安全设置方法。

首先需要安装【系统安全】插件(程序内置)。

下面来介绍一下程序安全设置的方法

本教程需要具备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服务器为例的配置:

13f4bddf0bbc491ff9ff6934ef945a78.png

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

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

6227bac3493296091d4e8c7b74de48b6.png

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

五、头像分离存储

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

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

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

www.abc-touxiang.com

顶级域名二级域名都可以

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

47f03de90b582e1ff9c4c44be84e35cc.png

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

67a62845e01a5f28ee0b039241564711.png

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

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

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

/www/www.xxx.com/

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

七、开启跨站验证

bd8b1c01cd487e93860c4f3537a94b92.png

开启之后将有效的防范站外攻击提交POST

八、将后台与web分离

把后台入口不要放在web,单独域名作为后台登录

需要安装《系统安全》插件,设置后台的目录和域名即可,这样后台就彻底的隐藏了。

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

这样几步操作后,再配合服务器安全防护,网站安全性就非常非常高了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 列表生成式

python笔记21-列表生成式 前言 python里面[]表示一个列表,快速生成一个列表可以用range()函数来生成。 对列表里面的数据进行运算和操作,生成新的列表最高效快速的办法,那就是列表生成式了。 range() 1.一个连续的数字类型列表&#xff0…

php mysql grant_mysql grant命令详解_MySQL

bitsCN.comgrant 权限 on 数据库对象 to 用户一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grant select on testdb.* to common_user%grant insert on testdb.* to common_user%grant update on testdb.* to common_user%grant delet…

python matplotlib简单使用

一、简单介绍 Matplotlib是Python的一个绘图库,是Python中最常用的可视化工具之一。 二、安装方法 安装方法:pip install matplotlib 注意:安装matplotlib前需要先安装numpy才可以 三、基本绘图命令 1、plt.fig([num]) 在绘图过程中&a…

python窗体设计插件_Python 界面生成器 wxFormBuilder 的入门使用(wxPython的界面设计工具的初学笔记)...

环境,Win10,python3.7.3,wxPython 4.0.4,wxFormBuilder 3.91、准备一个窗体。点击wxformbuilder上方的标签“forms”,并点击标签下方的第一个类似窗体的图标“Frame”然后,下面就会出现一个窗体。但是现在还…

用cmd编译c++程序

1、设置好环境变量(已安装vs) ①在计算机的系统环境变量--》用户变量--》path中添加 D:\VS15\VC\bin ②新建变量INCLUDE:D:\VS15\VC\include ③新建变量LIB:D:\VS15\VC\lib 2、利用cl编译c文件 打开cmd 输入c…

python插入排序_直接插入排序(python实现)

这篇博文用来介绍直接插入排序直接插入排序基本思想:每次将一个待排序的记录插入到已经排好序的数据区中,直到全部插入完为止直接插入排序算法思路:在直接插入排序中,数据元素分为了有序区和无序区两个部分,在这里我们…

STL1-函数模板

1、函数模板和普通函数区别 //普通函数可以进行自动类型转换&#xff0c; //函数模板必须精确类型匹配; //函数模板可以被重载;c优先考虑普通函数;#include<iostream> using namespace std; //函数模板-->产生模板函数-->调用函数 template<class T> T MyAd…

jupyter安装与迁移文件

1、安装 pip install jupyter notebook -i https://pypi.tuna.tsinghua.edu.cn/simple 2、测试安装成功 安装完后输入 jupyter notebook 出现一个jupyter网址&#xff0c;即证明安装成功 3、数据迁移 将之前的jupyter notebook产生的文件复制在python所安装的盘目录下。然…

修正的判定条件覆盖例题_语句覆盖、判断覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖、修正条件覆盖...

int function(bool a,bool b,boolc){intx;x0;if(a&&(b||c)){x1;returnx;}}1、语句覆盖(SC)选择足够多的测试数据&#xff0c;使得被测程序中的每条语句至少执行一次。测试用例&#xff1a;aT,bT,cT2、判断覆盖(DC)设计足够的测试用例&#xff0c;使得程序中的每个判定至…

STL2-类模板

1、类模板实现 函数模板在调用时可以自动类型推导 类模板必须显式指定类型 #include<iostream> using namespace std;template<class T> class Person { public:T mId;T mAge; public:Person(T id,T age){this->mAge age;this->mId id;}void Show(){cout…

STL3-MyArray动态数组类模板实现

注意 1、右值的拷贝使用 2、拷贝构造函数的使用 #include<iostream> using namespace std;template<class T> class MyArray{ public:MyArray(int capacity){this->mCapacity capacity;this->mSize 0;//申请内存this->pAddr new T[this->mCapac…

mysql udf提权hex_Mysql_UDF提权

Mysql_UDF提权作者&#xff1a;admin 发布于&#xff1a;2013-5-25 18:55 Saturday分类&#xff1a;MYSQLRoot权限一、上传udf.dll小于mysql5.1版本C:\\WINDOWS\\udf.dll 或C:\\WINDOWS\\system32\\udf.dll等于mysql5.1版本%mysql%\\plugin\\udf.dll 用 selectplugin_dir 查询…

STL4-类型转换

#include<iostream> using namespace std;class Building{}; class Animal{}; class Cat :public Animal {}; //Cat是Animal的子类//static_cast //用于内置的数据类型及具有继承关系的指针或者引用 void test01() {int a 97;//static_cast<要转换的类型>(转换的…

python argparse模块

argparse模块 argparse是python用于解析命令行参数和选项的标准模块&#xff0c;用于代替已经过时的optparse模块 使用步骤 import argparse # 1 导入模块&#xff0c;这个没什么说的 parser argparse.ArgumentParser() # 2 实例化一个对象&#xff0c;默认参数一堆&#…

STL5-异常

异常可以跨函数 异常必须处理 1、 #include<iostream> using namespace std; //c异常机制 跨函数 //c异常必须处理 不能留&#xff0c;否则报错 int divided(int x, int y) {if (y 0)throw y; //抛异常return (x / y); } void test01() {int x 10, y 0;//试着去捕获…

java 并发组件_Java 并发计数组件Striped64详解

作者&#xff1a; 一字马胡转载标志 【2017-11-03】更新日志日期更新内容备注2017-11-03添加转载标志持续更新Java Striped64Striped64是在java8中添加用来支持累加器的并发组件&#xff0c;它可以在并发环境下使用来做某种计数&#xff0c;Striped64的设计思路是在竞争激烈的时…

ubuntu的MySQL远程数据库连接问题查找

1、开放端口3306 2、添加权限 3、服务器本身没有在安全组规则中开放权限 添加安全组规则后重试。

java中集合怎么定义_Java集合系列(一):集合的定义及分类

1. 集合的定义什么是集合呢&#xff1f;定义&#xff1a;集合是一个存放对象的引用的容器。在Java中&#xff0c;集合位于java.util包下。2. 集合和数组的区别(面试常问)提到容器&#xff0c;就会想起数组&#xff0c;那么集合和数组的区别是什么呢&#xff1f;(这里是重点&…

STL6-输入输出流

cout 是 console output 缩写 程序 和键盘 之间有一个输入缓冲区 程序 和 显示器 之间有一个输出缓冲区 #include<iostream> #include<windows.h> #include<iomanip> using namespace std; #if 0 cout << "dd"; //全局流对象&#xff0c;默…

Ubuntu nginx+uwsgi部署Django项目

前提条件&#xff1a;首先项目使用一下命令启动成功后&#xff0c;输入公网ip后可以启动成功 python manage.py runserver 0.0.0.0:80 一、阿里云配置安全组 添加8000端口 二、安装配置uwsgi 1、确定django项目可以正常运行了&#xff0c;ctrlc停止项目&#xff0c;下面我们来…