我们都知道,服务器做的再安全,若是代码不安全也无法有效防御外部的攻击或木马植入等问题,对于一名服务器运营者:
我们首要的要对代码安全做哪些防范措施?
1-1、对要布署的网站的代码进行基本的排查,检查是否被黑客放置了网页木马和ASP木马、网站代码中是否有后门程序等;
1-2、对代码的安全性要进入更深入的过滤,诸如SQL注入漏洞、上传文件漏洞等常见的危害站点安全的漏洞都要有所排查;
1-3、日常维护时要对站点的访问、错误日志进行二次跟进,了解当前源码是否有漏洞,以免被黑客利用。
2、代码安全之文件夹权限
我们知道,一般我们布署的项目,不同文件夹可以设置不同的权限,有些只需要读取、运行权限就可以了,那我们就把写权限关掉,这样可以极大的增强代码的安全性。
我们以ThinkPHP为例(我们所说的文件夹分配权限指的是项目已经进行到布署阶段,若在开发阶段降权会影响到TP框架的自动生成等等功能):
一般在宝塔Linux我们针对三个用户级别来定义权限:
root、www、mysql
root是系统用户、www是站点用户、mysql是数据库用户,我们一般针对www来定义权限,在Windows同样的我们是给面板生成的站点独立用户设置权限。
如图(5-3-1)所示在Linux系统下,我们进入宝塔面板后台,点击文件,进入文件管理员,在步1所示位置找到要修改的网站目录,然后,我们看到右侧是所有该站点包含目录,不同的源码文件夹内容不同,我们以TP框架来说,一般如果布署入口在public,我们只需要对这两个文件夹及子目录文件等给www权限到
755
,其它的文件夹或文件给到555
或644
权限即可。我们打开如图(5-3-3),在步1位置给所有者、用户组、公共用户等不同组别设置权限,或在步2输入框直接输入权限值,在步3位置选择此文件夹的权限组,选择步4应用到子目录,再点击 设置权限即可。
当然,实际项目如何运用由不同的开发者定义,总之,需要写入的就给写权限,不需要的就给读取和运行,Windows设置权限也是这个原理。
一般我们通过宝塔面板操作建立的站点,权限问题不大,若有也是通过其它途径或软件上传下载文件所至,主要目标是为了给不需要写权限的文件夹或文件降权,这样的好处不言而喻,只是设置时一定要提前了解源码的目录结构是否允许做此处理。