确保网站安全是至关重要的,特别是在使用FastAdmin进行开发时。以下是一些代码和服务器安全的最佳实践建议,这些建议帮助你提高网站的安全性,并防范常见的安全风险。
代码安全
更新ThinkPHP框架
FastAdmin基于ThinkPHP5.0框架进行开发。如果ThinkPHP5.0发布了漏洞修复,务必及时更新框架代码。可以通过以下命令进行更新:
composer update topthink/framework
如果无法使用命令行更新,可以下载最新的ThinkPHP5.0压缩包,解压并覆盖
thinkphp
目录。- 关注安全更新
定期关注FastAdmin的官网动态(QQ群、资讯和社区),第一时间获取重要的安全更新通知。
基础安全配置
在生产环境中,打开
application/config.php
并进行以下配置:'app_debug' => false, 'app_trace' => false, 'deny_module_list' => ['admin'], // 可参考 [此链接](https://ask.fastadmin.net/article/7640.html) 'cookie.httponly' => true, 'cookie.secure' => true, // 仅在使用 HTTPS 访问时设置
开启全局过滤
确保前台代码开启了全局过滤。在
application/common/controller/Frontend.php
和application/common/controller/Api.php
中修改$this->request->filter
为:$this->request->filter('trim,strip_tags,htmlspecialchars');
还可以参考 此链接 设置全局 HtmlPurifier 安全过滤。
服务器安全
- 选择安全的操作系统
在生产环境中,建议使用 Linux 操作系统。对于不熟悉的用户,可以使用宝塔面板进行 LNMP 的安装。
目录安全配置
参考 FastAdmin目录安全配置,在新增网站时,务必绑定
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
禁止PHP脚本执行
如果你使用 Nginx,建议在
server
配置段中添加以下代码,用于禁止特定目录中的 PHP 脚本执行:location ~ ^/(uploads|assets)/.*\.(php|php5|jsp)$ { deny all; }
总结
通过以上的代码和服务器安全配置,你可以有效提高FastAdmin网站的安全性,减少潜在的安全风险。务必定期检查并更新安全配置,以确保网站的安全性。