作为一款开源的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.最重要的一点,一定要开启快照或者自动备份,否则真的网站被黑,你会欲哭无泪
代码安全
config/app.php中的app_debug和app_trace设置false,关闭调试模式
默认是域名绑定在public目录,为唯一对外访问目录,不建议修改,除非是实在不支持域名绑定
务必更改默认密码,并不要设置的过于简单,防止暴力破解
后台禁止访问IP,可以在设置-网站设置中设置
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。