您现在的位置是:首页 >> BadouCMS教程BadouCMS教程
BadouCMS服务器安全配置
董哥2025-07-254次围观
目录安全
在实际生产中,目录安全是比较容易被忽略的配置,因此我们更应该加倍注意防范,以免造成不必要的损失。
首先我们建议在生产环境只开放uploads
和runtime
目录的读写权限,其次还需要关闭uploads
目录执行PHP脚本的权限,假设时服务端uploads
目录有读写权限且有PHP的脚本执行权限,那么当有恶意脚本被上传到这个目录并被执行时,会导致服务器数据泄漏或恶意修改,从而造成损失。
为避免不必要的损失,在生产环境下建议使用以下命令进行目录权限设置
chown www:www /var/www/yoursite -R chmod 555 /var/www/yoursite -R chmod u+w /var/www/yoursite/runtime -R chmod u+w /var/www/yoursite/public/uploads -R
WEB配置
通过以上的目录权限配置还不够,我们还需要继续对服务器做WEB配置,以限制PHP脚本的运行
Nginx可以通过以下配置禁止PHP脚本执行
location ~ ^/(uploads|assets)/.*.(php|php5|jsp)$ { deny all; }
Apache可以通过在.htaccess中配置来禁用PHP脚本执行
RewriteEngine on RewriteCond % !^$ RewriteRule uploads/(.*).(php)$ – [F]
其次在新增网站配置时务必绑定public
目录为运行目录,同时启用open_basedir
限制只允许BadouCMS的根目录,例如:fastcgi_param PHP_VALUE "open_basedir=/var/www/BadouCMS/:/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
下载配置
默认我们在请求txt/doc/pdf/ppt
等类型的文件时会在浏览器进行渲染,为了安全,强烈建议当请求此类文件时进行下载而不是预览,我们可以按以下方法进行修改服务器配置来实现。
Nginx可以修改配置文件(宝塔面板可直接在面板伪静态中添加)
location ~ .*.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$ { add_header Content-Disposition attachment; }