【前言】

ThinkPHP MVC框架越来被开发者接受,众多的开发者选择了这个框架,也有很多的优秀项目使用的ThinkPHP框架。最近整理了一下ThinkPHP项目的一些安全配置。可能并不适用全部项目,大家可以适当的使用如下的安全配置。

【正文】

随着利用ThinkPHP框架的产品犹如雨中芦笋一般,不断的发展和壮大,但基于ThinkPHP的产品也有一大把,这里我就不过多的讲述,大家可以自行百度。那么系统的安全也就随之而来,例如我们常说的:一句话木马、WEBshell等等,今天笨小猪就给大家透露一个通过简单的又很便捷的基础性防御,同时从根源上杜绝我们的runtime(ThinkPHP中的运行时)、application(应用配置文件)从而禁止下载文件,我们先看下下面的真实案例:

【案例】

【提示】本文的案例只是警示那些不注重安全的人,但不乏有一些居心的人进行非法获取相关数据,本次基础性防御就是针对这类似问题,并非教大家如何去犯罪。

【场景还原】

我们都知道runtime下的log(日志文件)生成的规则都是在runtime/log/下,同时是以当前日期生成文件(例如:/runtime/log/202007/27.log),然后以当前日期生成(**.log,**代表当前月份下的日)文件(详见如下图)

thinkphp安全设置(ThinkPHP基础安全防御之Niushop)(1)

注意,特别注意,这些日志都是可以通过下载器进行下载的,那么下载出来的日志文件有哪些呢?我们可以将下载出来。

thinkphp安全设置(ThinkPHP基础安全防御之Niushop)(2)

我们将下载出来日志我们进行常规性的搜索,例如某些网站默认使用的依旧是admin,那么我们可以通过搜索admin,可以索引到对应的字眼,上图仅仅是一个参考,同时里面有对应的账号和密码(这里的账号和密码都是可以进行登录的,同时这里的MD5大家可以去进行校验[提示]前提知晓后台路径,当然,后台路径也都是可以在日志中分析出来)那么如何将后台分析出来呢?我们继续往下看,我们可以通过最常规的手段进行索引,例如我们常见的就是login或者admin,那么我们可以进行以login或admin进行筛选,结果如下:

thinkphp安全设置(ThinkPHP基础安全防御之Niushop)(3)

上图就是我们从日志中获取到后台网址,可以从浏览器中打开并输入日志中的账号和密码予以验证,那么我们如何防御他?跟着笨小猪往下操作。

【代码防御一】

代码防御仅仅是修改对应的文件,那么我们只需要修改系统中的application/config..php中(注意:不同产品位置不同,这里以Niushop为例,其他产品请以实际产品为准),找到log,将file改为test,将让他不再生成日志文件(详见下图),但是彻底关闭也是不可行的,譬如开发者需要用得上日志,那么我们该如何禁止呢?我们可以看看防御二。

thinkphp安全设置(ThinkPHP基础安全防御之Niushop)(4)

【安全防御二】

我们可以通过NGINX对应的规则将文件拦截拒之门外,让外面得人无法进行下载对应的文件,那么我们该如何控制呢?我们可以在宝塔伪静态或者配置文件添加以下代码:

#禁止访问的文件或目录

location ~ ^/(runtime/|application/)

{

return 404;#此处是返回报错页面,可以是444

}

thinkphp安全设置(ThinkPHP基础安全防御之Niushop)(5)

添加上面的代码之后,他的含义就是禁止访问runtime、application文件并返回404错误,同时无法进行使用下载器下载我们的日志,我们可以试下具体效果:

thinkphp安全设置(ThinkPHP基础安全防御之Niushop)(6)

通过上面的简单的部署,防御二可以利于开发者分析数据,同时也杜绝了外面的人下载我们的日志,这也做到了我们日志文件的安全。这仅仅是最基础的安全防御,往后我们还要进行防篡改之类的安全部署。好了,文章就写到这里了,谢谢大家花时间阅读,感谢大家关注笨小猪我哦

【原创声明】本文章是由笨小猪原创且配合Niushop编写,未经作者许可,禁止任何单位组织和个人转载到各大平台、论坛、博客等等。

,