ThinkPHP是一款非常知名的PHP框架,很多知名CMS系统都是采用TP框架进行二次开发而来,当然ThinkPHP本身也可以直接建站,开源免费、功能强大,深受广大用户喜欢。
虽然ThinkPHP非常优秀,但是为了保障网站安全,我们还是需要做一些必要的防护措施,提升ThinkPHP的安全性。
今天我们就来聊聊有哪些防护方法!
一、 对文件做篡改防护
要防止入侵,防篡改是必不可少的。对文件做篡改防护有两种方法:1、通过ACL策略实现 2、使用底层驱动实现
1、 通过ACL策略防护
防护思路:设置全站都只有读取权限;再对部分必须目录开放写权限,并限制这些目录禁止执行动态脚本。
ThinkPHP需要开放写权限的目录有:/runtime/、/uploads/
注意:这2个目录务必禁止执行PHP脚本。
这样设置以后,黑客就只能往这2个目录写入文件了,由于限制了禁止执行PHP脚本,即使黑客上传了webshell,也无法运行。
此方法设置较为复杂,需要有很强的专业技术。另外局限性也较多,例如需要对所有文件做防篡改,不能只对PHP文件做防篡改。如果网站需要生成HTML静态文件,就无法使用此方法部署防护。
2、 使用底层驱动防护
使用操作系统底层驱动技术进行防篡改拦截,即通过防篡改软件进行防护。不同软件设置方法不同,推荐使用《护卫神.防入侵系统》,因为其内置ThinkPHP防篡改规则,非常简单的操作就可以开启强大的防篡改功能(如下图一),同时没有副作用。
(图一:ThinkPHP防篡改模板)
如上图,选择网站目录,安全模板选择“ThinkPHP安全模板”,防篡改功能就开启了。系统立即就会对PHP文件进行7*24防篡改保护,同时不会影响管理员日常维护网站,没有副作用(非常有特色的地方,大部分防篡改软件都有副作用)。
当黑客上传webshell的时候,拦截效如下图二。
(图二:ThinkPHP防篡改拦截效果)
二、 对后台做访问保护
开启防篡改保护后,还需要对后台做下防护,防止黑客窃取后台权限,进行合法的篡改操作(如设置网站配置信息,植入恶意代码)。
防护思路也很简单,给后台设置二次密码,或是限制特定区域才能访问(如某个城市)。《护卫神.防入侵系统》的“网站后台保护”模块可以实现,填写后台地址,设置授权密码以及允许访问的区域,就可以了(如下图三)。
(图三:ThinkPHP后台保护)
不在授权区域的用户访问后台时,会要求输入授权密码(如下图四)
(图四:ThinkPHP后台拦截保护)
输入正确的授权密码,或是在授权区域的用户,就可以正常访问ThinkPHP后台(如下图五)
(图五:ThinkPHP后台访问)
三、 防SQL注入、防XSS跨站攻击
SQL注入和XSS跨站攻击是黑客常用的入侵手段,也需要做好防护。
《护卫神·防入侵系统》自带有SQL注入防护模块(如下图六),除了拦截SQL注入,还可以拦截XSS跨站脚本,一并解决全服务器的安全漏洞,拦截效果如图七。
温馨提示:此模块默认已经开启,无需再另行设置!
(图六:ThinkPHP SQL注入防护)
(图七:ThinkPHP防SQL注入拦截效果)
怎么样,是不是很简单,只需要简单两步设置,就能轻松解决ThinkPHP漏洞防护问题,同时也能阻止黑客上传WebShell和篡改网站。
原文:ThinkPHP(TP)如何做安全加固,防webshell、防篡改、防劫持、TP漏洞防护