🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
作为一款开源的php后台框架,网站安全是一个非常重要的条件,不论你的网站功能有多强大,多易用,安全不过关,那也是没有任何意义的,下文我们将分为服务器和代码两个方面细说 ## 服务器安全 1.服务器我们推荐Linux+Nginx+Mysql php推荐7.1以上 2.网站**上线**后,除runtime目录和public/uploads目录,其余目录设置555或只读权限 ``` chown www:www /var/www/yoursite -R chmod 555 /var/www/yoursite -R chmod u+w /var/www/yoursite/runtime -R chmod u+w config/addons.php chmod u+w /var/www/yoursite/public/uploads -R ``` 3.Nginx配置,,添加到server段中 ``` ## 禁止敏感文件的直接访问 location ~ ^/(uploads|static)/.*.(php|php3|php4|php5|cgi|asp|aspx|jsp|shtml|shtm|pl|cfm|sql|mdb|dll|exe|com|inc|sh)$ { deny all; } ``` 4.Apache可以通过在`.htaccess`中配置来禁用PHP脚本执行 ``` RewriteEngine on RewriteCond % !^$ RewriteRule uploads/(.\*).(php)$ – \[F\] ``` 大家要记住一个原则,那就是:能执行php程序的目录一定不要开放读写权限,而可以读写的目录(比如上传)一定不要赋予php执行权限 5.修改php.ini,禁用不安全的函数,配置如 ``` disable_functions = phpinfo,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru ``` 6.配置open\_basedir来限制PHP访问文件系统位置,例如: ``` open_basedir=/项目路径/:/tmp/:/proc/ ``` 7.宝塔免费用户可以在选择你安装的PHP版本-->安装扩展-->bt_safe -->安装 8.最重要的一点,一定要开启快照或者自动备份,否则真的网站被黑,你会欲哭无泪 ## 代码安全 1. config/app.php中的app\_debug和app\_trace设置false,关闭调试模式 2. 默认是域名绑定在public目录,为唯一对外访问目录,不建议修改,除非是实在不支持域名绑定 3. 务必更改默认密码,并不要设置的过于简单,防止暴力破解 4. 后台禁止访问IP,可以在设置-网站设置中设置