安全机制

出自Discuz! 技术文库

跳转到: 导航, 搜索

安全相关设置

在Discuz!X中对于安全方面引入了新的机制,其中包括SQL检查、以及限制访问之类的限制。

config配置

在config配置中可以打开相应的安全开关
  • 站点authkey,这个是站点中一个非常重要的Key,用来加密与加密的加密串,当怀疑站点发生authkey泄漏可以通过这里变更一个Key.
$_config['security']['authkey']	= 'asdfasfas';	// 站点加密密钥
  • XSS 防御设置
$_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
  • SQL安全性防御
$_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=是[安全]
  • 验证后台管理IP,建议开启
$_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结尾的文件名
个人工具