确保网站安全是至关重要的,特别是在使用FastAdmin进行开发时。以下是一些代码和服务器安全的最佳实践建议,这些建议帮助你提高网站的安全性,并防范常见的安全风险。

代码安全

  1. 更新ThinkPHP框架

    FastAdmin基于ThinkPHP5.0框架进行开发。如果ThinkPHP5.0发布了漏洞修复,务必及时更新框架代码。可以通过以下命令进行更新:

    composer update topthink/framework

    如果无法使用命令行更新,可以下载最新的ThinkPHP5.0压缩包,解压并覆盖 thinkphp 目录。

  2. 关注安全更新

    定期关注FastAdmin的官网动态(QQ群、资讯和社区),第一时间获取重要的安全更新通知。

  3. 基础安全配置

    在生产环境中,打开 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 访问时设置
  4. 开启全局过滤

    确保前台代码开启了全局过滤。在 application/common/controller/Frontend.phpapplication/common/controller/Api.php 中修改 $this->request->filter 为:

    $this->request->filter('trim,strip_tags,htmlspecialchars');

    还可以参考 此链接 设置全局 HtmlPurifier 安全过滤。

服务器安全

  1. 选择安全的操作系统

    在生产环境中,建议使用 Linux 操作系统。对于不熟悉的用户,可以使用宝塔面板进行 LNMP 的安装。

  2. 目录安全配置

    参考 FastAdmin目录安全配置,在新增网站时,务必绑定 public 目录,并启用 open_basedir 限制,仅允许 FastAdmin 的根目录访问:

    fastcgi_param PHP_VALUE "open_basedir=/var/www/yourfastadmindir/:/tmp/:/proc/";
  3. 禁用不安全的函数

    修改 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
  4. 禁止PHP脚本执行

    如果你使用 Nginx,建议在 server 配置段中添加以下代码,用于禁止特定目录中的 PHP 脚本执行:

    location ~ ^/(uploads|assets)/.*\.(php|php5|jsp)$ {
        deny all;
    }

总结

通过以上的代码和服务器安全配置,你可以有效提高FastAdmin网站的安全性,减少潜在的安全风险。务必定期检查并更新安全配置,以确保网站的安全性。

点赞(1)

微信扫一扫加关注

返回
顶部