Discuz安装前安全规范

建议在机房部署的时候后端机器起码2台作容灾,运维侧nginx反向代理至后端处理,可以参考下如下的nginx相关配置供测试,Discuz的安全相关的东西以下提出了些,供参考:
Discuz安装前安全规范
1、须从Discuz官网下载最新版本的安装包;
2、Discuz论坛代码上传到服务器解压后,将全部文件和目录属主改为root或其他属主(必须与webserver属主不同),目的是为了防止黑客获得webserver的权限后,对程序文件进行恶意篡、放置后门等;
3、将Discuz论坛代码中的全部目录权限设置为755,将Discuz论坛代码中的全部文件权限设置为644;
4、确保数据库与discuz不在同一台机器上,做好DB分离,后端机器不能只有单台;
5、删除Discuz根目录下的crossdomain.xml文件,如需要此文件,必须限制到具体域名;
6、删除./static/image/common/mp3player.swf 文件;
7、Discuz根目录下./api/目录中不需要的外部接口需删除;
8、禁止论坛管理后台和UC管理后台外网访问;
9、禁止Discuz根目录下./data目录解析php,并且php、sql文件不能被下载;
10、禁止Discuz根目录下./uc_server/data ./uc_client/data/目录解析php,并且php文件不能被下载;
11、禁止Discuz根目录下的conf目录及目录中的文件被外网访问;禁止访问Discuz论坛目录下的.bak备份文件;
12、禁止Discuz根目录下./api/uc.php文件外网访问;
13、删除/uc_server/control/app.php;
14、安装好论坛后,需删除install目录;
安装好Discuz后,需对Discuz配置文件中的部分配置项进行修改,对论坛进行安全加固,加固点如下:
1. 设置founder = ‘1‘
2. 设置forcesecques = ‘1‘
3. 设置checkip = 1
4. 设置runquery = ‘0‘
5. 设置dbimport = 0
6. 设置urlxssdefend = 1
7. 设置attackevasive = ‘0‘
PHP配置相关:
1. 配置open_basedir项为网站目录;
2. 禁用危险函数disable_functions disable_functions=
dl,eval,assert,exec,popen,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open
(部分Discuz!版本正常运行需要eval,assert两个函数,如果有问题,上述禁用函数可以去掉这两个) ;
3. 关闭全局变量register_globals;
4. 开启magic_quotes_gpc ;
5. 安全模式safe_mode ;
6. 关闭错误消息提示display_errors ;
7. 禁止访问远程文件allow_url_fopen,allow_url_include;

时间: 2024-10-27 12:54:50

Discuz安装前安全规范的相关文章

Xcode 5.1安装插件:规范凝视生成器VVDocumenter

类似java的多行凝视! 安装过程: 1.前往GitHub下载project文件:VVDocumenter-Xcode 2.用Xcode打开project,Command + B Build成功后,能够在~/Library/Application Support/Developer/Shared/Xcode/Plug-ins文件夹下看到生成的xcplugin文件: 3.重新启动Xcode,在某个方法前输入三个" / ",自己主动生成相应的凝视: 然后tab并保全就能够了. 4.打开Xc

Advanced Installer 安装前卸载旧版本的办法

原文:Advanced Installer 安装前卸载旧版本的办法 Advanced Installer这个工具百度出来的资料太少了. 在我们平常打包的工作中,经常遇到的一个问题是,如何能在安装新版本的时候友好的提示/卸载之前的旧版本,而不是粗暴的直接让用户自行去卸载呢?今天就这个问题给出下面一个具体的解决办法,话不多说,直接开始: 方案一:安装时自动卸载旧版本 第一步:找到并记录下上一个版本的Upgrade Code,此Code在上一个工程中的如下位置: 第二步:在新版本中的Upgrade C

Inno Setup 安装前卸载原程序

Inno Setup 安装前卸载原程序 分类: Install Setup 2013-02-02 15:53 2315人阅读 评论(0) 收藏 举报 很多時候我們需要在安裝文件之前卸載原有的程序而不是覆蓋安裝,本文的code就是實現了這樣的功能. 實現原理是:從注冊表'UninstallString'項中讀取卸載信息,用Exec進行靜默卸載. 下面code中APP_NAME為你的程序名,可以去注冊表中確認. 1 function InitializeSetup(): boolean; 2 var

[Linux]Ubuntu13.04-Windows8HyperV虚拟安装前须知

1. ubuntu如何分区 1./swap交换分区,一般为你机器内存的两倍,少于这个容量,系统无法进入休眠. 实质是硬盘上的交换空间而非分区,所以没有格式,默认休眠将数据储存于此 可以取消(如不用swap必须再设定方可休眠)--多数有1GB内存的桌面用户只要1.5GB swap即可.2GB以上内存的很多用户实际并不需要它--注意,大量处理音频.视频.图片需要3GB以上的交换空间. 2./ 根分区,一般选择15G即可,默认ext4,如不独立划分以下介绍的分区,则其都归于此分区,即使最最新的新手也可

PHP安装前需要考虑的事项

安装前,首先需要知道想用 PHP 来做什么.PHP 主要用在三个领域,分别在"PHP 能做什么"一节中进行了描述: 网站和 web 应用程序(服务器端脚本) 命令行脚本 桌面(GUI)应用程序 在通常情况下,需要三样东西:PHP 自身.一个 web 服务器和一个 web 浏览器.可能已经有了一个 web 浏览器,并且根据操作系统的配置,也很可能已经有了一个 web 服务器(例如 Linux 和 MacOS 下的 Apache:Windows 下的 IIS).也许在某个公司租用了 web

oracle数据库安装前的环境配置

系统版本redhat5.6一 安装前环境配置查看内存grep MemTotal /proc/meminfogrep SwapTotal /proc/meminfo(或者free -m同时查看内存和swap空间,一般需要内存2G,swap空间2G即可)修改用户的SHELL限制,修改/etc/security/limits.conf文件oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024oracle hard n

【Oracle 集群】11G RAC 知识图文详细教程之RAC在LINUX上使用NFS安装前准备(六)

RAC在LINUX上使用NFS安装前准备(六) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体系的总结,一则进行回顾复习,另则便于查询使用.本图文文档亦源于此.阅读Oracle RAC安装与使用教程前,笔者先对这篇文章整体构思和形成进行梳理.由于阅读者知识储备层次不同,我将从Oracle RAC安装前的准备与规划开始进行整体介绍安装部署Oracle RAC.始于唐博士指导,对数据库集群进

ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal版)- 1、安装前准备

安装前准备 上传文件到服务器,x-ftp xshell登陆Centos 检查机器名 修改机器名为:portal.cloud.local 方法一:零时设置,重启后失效,该方法不可取 方法二:修改计算机名,重启后依旧有效有效,hostnamectl set-hostname portal.cloud.local 方法三:重启后依旧保持(网上方法说可以,但是一直不生效) 更改/etc/sysconfig下的network文件,在提示符下输入vi /etc/sysconfig/network,然后将HO

EBS R12.2快速安装前没有配置Global Inventory报错

EBS R12.2快速安装前没有配置Global Inventory,导致验证时"file systems"这一项没有通过,被标记了"X": (本图其它两个验证失败是其它原因) 点击"file systems"查看具体原因: 解决方案: $ mkdir /app/oracle/oraInventory # vi /etc/oraInst.loc #添加以下内容 inventory_loc=/app/oracle/oraInventory # ch