已经更新到文档中
最新安全建议请查看文档说明
2022-09-07
安全一直是我们关注的问题,我们也在不断的探索,这里我把我们FastAdmin累积的经验分享给大家。安全不仅仅代码安全,同时还涉及到服务器安全等多方面,建议你配置好服务器相关安全配置,做好目录权限控制,这里我们分两部分来讲解,一部分是代码安全,一部分是服务器安全配置。
代码安全
代码安全这部分,因为FastAdmin基于ThinkPHP5.0
框架进行开发,因此如果一旦ThinkPHP5.0爆出漏洞,也请你第一时间更新你代码中的ThinkPHP5的框架代码,更新的方式非常简单。请使用以下命令即可一键更新。
composer update topthink/framework
如果你无法使用命令行更新ThinkPHP5.0,你可以下载最新Thinkphp5.0的压缩包,解压覆盖thinkphp
目录。
请时刻关注FastAdmin官网动态(QQ群、资讯和社区)栏目,如果有重要安全更新,我们都会第一时间发布通知和消息。
如果你网站已经发布生产环境,我们建议你在FastAdmin中做以下安全基础配置,首先打开application/config.php
,做几下几项配置
app_debug 设置为 falseapp_trace 设置为 falsedeny_module_list 添加 admin //可以参考 https://ask.fastadmin.net/article/7640.htmlcookie.httponly 设置为 truecookie.secure 设置为 true //前提是你的网站仅提供https访问
其次前台开启全局过滤,早期FastAdmin并未开启全局过滤。你也可以检查下你的代码。请手动修改以下代码:
application/common/controller/Frontend.phpapplication/common/controller/Api.php
注意修改其中的$this->request->filter
过滤代码,可以修改成:
$this->request->filter('trim,strip_tags,htmlspecialchars');
同时也可以参考https://ask.fastadmin.net/article/7534.html 设置全局 HtmlPurifier
安全过滤
服务器安全
首先我们建议你生产环境选择Linux操作系统
如果你对服务器编译安装LNMP不太也熟悉,可以使用宝塔面板(还可免费领3188礼包)进行安装。
FastAdmin目录安全配置,请参考:https://ask.fastadmin.net/article/5707.html
新增网站配置时务必绑定public
目录,同时启用open_basedir
限制只允许FastAdmin的根目录,例如:
fastcgi_param PHP_VALUE "open_basedir=/var/www/yourfastadmindir/:/tmp/:/proc/";
修改php.ini
,禁用不安全的函数,配置如
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru
如果你使用的Nginx服务器,建议配置中添加以下代码,用于禁止PHP的脚本执行,添加到server
段中
location ~ ^/(uploads|assets)/.*.(php|php5|jsp)$ { deny all; }
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。