出自Discuz! 技术文库
安全相关设置
- 在Discuz!X中对于安全方面引入了新的机制,其中包括SQL检查、以及限制访问之类的限制。
config配置
- 在config配置中可以打开相应的安全开关
- 站点authkey,这个是站点中一个非常重要的Key,用来加密与加密的加密串,当怀疑站点发生authkey泄漏可以通过这里变更一个Key.
$_config['security']['authkey'] = 'asdfasfas'; // 站点加密密钥
-
$_config['security']['urlxssdefend'] = true;// 自身 URL XSS 防御
- 当你的站点发现被CC攻击时,你也可以在config中打开CC攻击防御,该防御有1/2/4/8四种防御方式,你除了可以配这四种外,还允许组合防御。例如:可以配成24,当配成24代表同时使用2跟4的两种防御攻击
$_config['security']['attackevasive']= 0; // CC 攻击防御 1|2|4|8
-
$_config['security']['querysafe']['status'] = 1; // 是否开启SQL安全检测,可自动预防SQL注入攻击
$_config['security']['querysafe']['dfunction'] = array('load_file','hex','substring','if','ord','char');
$_config['security']['querysafe']['daction'] = array('intooutfile','intodumpfile','unionselect','(select');
$_config['security']['querysafe']['dnote'] = array('/*','*/','#','--','"');
$_config['security']['querysafe']['dlikehex'] = 1;
$_config['security']['querysafe']['afullnote'] = 1;
- 在上面内容是关于SQL的安全检查,在配置中只需要配置$_config['security']['querysafe']['status'] = 1;就可以,1代表开启/0代表关闭
- 创始人的设置,当您的站点在线上运营时,建议至少设置一个创始人,创始人拥有站点管理后台的最高权限。
$_config['admincp']['founder'] = '1'; // 站点创始人:拥有站点管理后台的最高权限,每个站点可以设置 1名或多名创始人
// 可以使用uid,也可以使用用户名;多个创始人之间请使用逗号“,”分开;
- 安全问答,可以在这里开启安全问答来限制管理员必须设置相应的安全问答,来增加该站点的管理帐号的安全性。建议开启
$_config['admincp']['forcesecques'] = 1;// 管理人员必须设置安全提问才能进入系统设置 0=否, 1=是[安全]
-
$_config['admincp']['checkip'] = 1; // 后台管理操作是否验证管理员的 IP, 1=是[安全], 0=否。仅在管理员无法登陆后台时设置 0。
- 后台是否允许执行相关的MySQL操作,建议关闭。关闭后将无法直接在后台执行相关的SQL语句
$_config['admincp']['runquery'] = 0; // 是否允许后台运行 SQL 语句 1=是 0=否[安全]
- 后台恢复数据。定期备份是一个很好的习惯,在站点运营过程中,为了安全建议关闭后台恢复数据的功能,在你的站点确实需要进行数据恢复操作时再将此开关打开
$_config['admincp']['dbimport'] = 0; // 是否允许后台恢复论坛数据 1=是 0=否[安全]
访问配置
- 为了保证后台管理安全,在实际运营过程中,你可以限定该问后台的IP列表,当你配置IP后,在列表以外的地址将无法正常访问到你的后台
后台-〉全局-〉注册与访问->访问控制->允许访问管理中心的 IP 列表
- 对admin.php进行更名操作也是一种防御手段,可以改成任意以.php结尾的文件名