fastadmin初始化时站点安全配置/ thinkphp public目录配置

正文开始

https://doc.fastadmin.net/doc/171.html

WEB配置 Nginx可以通过以下配置禁止PHP脚本执行

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

Apache可以通过在.htaccess中配置来禁用PHP脚本执行

RewriteEngine on RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]

或使用

<directory "="" www="" yoursite="" public="" uploads"="">
  <files ~="" ".php"="">
  Order allow,deny
  Deny from all
  </files>
</directory>

其次在新增网站配置时务必绑定public目录为运行目录,同时启用open_basedir限制只允许FastAdmin的根目录,

vim /usr/local/nginx/conf/fastcgi.conf

末尾加上

fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/yourWebSite/:/tmp/:/proc/";
如果是多个站点 则写外部站点列表的路径
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/:/tmp/:/proc/";

或者在站点的vhost文件里修改

location ~ \.php$ {
       include snippets/fastcgi-php.conf;
        include fastcgi_params;
       fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/yourWebSite/:/tmp/:/proc/";
}

站点目录写根目录即可 不需要写内部访问外部的来源子目录 配置完重启nginx 即可生效

通常也建议修改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

运行配置 首先打开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访问 其次前台开启全局过滤,早期FastAdmin版本并未开启全局过滤。你也可以检查下你的代码。请手动修改以下代码:

application/common/controller/Frontend.php application/common/controller/Api.php 注意修改其中的$this->request->filter过滤代码,可以修改成:

$this->request->filter('trim,strip_tags,htmlspecialchars'); 同时也可以参考https://ask.fastadmin.net/article/7534.html 设置全局 HtmlPurifier 安全过滤

最后务必修改后台管理入口,将admin.php修改成自定义字符.php,以后都从我们自定义的后台入口进行登录。

正文结束

PHP接口(interface)和抽象类(abstract) 关于fastadmin的模板布局,以及相关配置