Yzncms系列教程(3):安全防范教程(新手必看)

作为一款开源的php后台框架,网站安全是一个非常重要的条件,不论你的网站功能有多强大,多易用,安全不过关,那也是没有任何意义的,下文我们将分为服务器和代码两个方面细说

服务器安全

1.服务器我们推荐Linux+Nginx+Mysql php推荐7.1以上
2.网站上线后,除runtime目录和public/uploads目录,其余目录设置555或只读权限
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;
}

大家要记住一个原则,那就是:能执行php程序的目录一定不要开放读写权限,而可以读写的目录(比如上传)一定不要赋予php执行权限
4.修改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

5.配置open_basedir来限制PHP访问文件系统位置,例如:

open_basedir=/项目路径/:/tmp/:/proc/

代码安全

1.config/app.php中的app_debug和app_trace设置false,关闭调试模式
2.默认是域名绑定在public目录,为唯一对外访问目录,不建议修改,除非是实在不支持域名绑定
3.务必更改默认密码,并不要设置的过于简单,防止暴力破解
4.后台禁止访问IP,可以在设置-网站设置中设置