ThinkPHP(TP)如何做安全加固,防webshell、防篡改、防劫持、TP漏洞防护

news2025/2/21 5:36:30

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防篡改模板)

如上图,选择网站目录,安全模板选择“ThinkPHP安全模板”,防篡改功能就开启了。系统立即就会对PHP文件进行7*24防篡改保护,同时不会影响管理员日常维护网站,没有副作用(非常有特色的地方,大部分防篡改软件都有副作用)。

当黑客上传webshell的时候,拦截效如下图二。

 

ThinkPHP防篡改拦截效果

(图二:ThinkPHP防篡改拦截效果)

二、 对后台做访问保护

开启防篡改保护后,还需要对后台做下防护,防止黑客窃取后台权限,进行合法的篡改操作(如设置网站配置信息,植入恶意代码)。

防护思路也很简单,给后台设置二次密码,或是限制特定区域才能访问(如某个城市)。《护卫神.防入侵系统》的“网站后台保护”模块可以实现,填写后台地址,设置授权密码以及允许访问的区域,就可以了(如下图三)。

 

ThinkPHP后台保护

(图三:ThinkPHP后台保护)

不在授权区域的用户访问后台时,会要求输入授权密码(如下图四)

 

ThinkPHP后台拦截保护

(图四:ThinkPHP后台拦截保护)

输入正确的授权密码,或是在授权区域的用户,就可以正常访问ThinkPHP后台(如下图五)

 

ThinkPHP后台访问

(图五:ThinkPHP后台访问)

三、 防SQL注入、防XSS跨站攻击

SQL注入和XSS跨站攻击是黑客常用的入侵手段,也需要做好防护。

《护卫神·防入侵系统》自带有SQL注入防护模块(如下图六),除了拦截SQL注入,还可以拦截XSS跨站脚本,一并解决全服务器的安全漏洞,拦截效果如图七。

温馨提示:此模块默认已经开启,无需再另行设置!

ThinkPHP SQL注入防护

(图六:ThinkPHP SQL注入防护)

 

ThinkPHP防SQL注入拦截效果

(图七:ThinkPHP防SQL注入拦截效果)

怎么样,是不是很简单,只需要简单两步设置,就能轻松解决ThinkPHP漏洞防护问题,同时也能阻止黑客上传WebShell和篡改网站。 

原文:ThinkPHP(TP)如何做安全加固,防webshell、防篡改、防劫持、TP漏洞防护

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2301722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL(1)基础篇

执行一条 select 语句,期间发生了什么? | 小林coding 目录 1、连接MySQL服务器 2、查询缓存 3、解析SQL语句 4、执行SQL语句 5、MySQL一行记录的存储结构 Server 层负责建立连接、分析和执行 SQL存储引擎层负责数据的存储和提取。支持InnoDB、MyIS…

分裂栅结构对碳化硅MOSFET重复雪崩应力诱导退化的抑制作用

标题 Suppression Effect of Split-Gate Structure on Repetitive Avalanche Stress Induced Degradation for SiC MOSFETs(TED 24年) 文章的研究内容 这篇文章的研究探讨了重复雪崩应力对碳化硅(SiC)MOSFET器件退化的影响&am…

JavaEE基础之- xml

目录 一、xml概述 1.什么是xml 2.W3C组织 3.XML的作用 4.XML与HTML比较 5.XML和properties(属性文件)比较 二、XML语法概述 1.文档展示 2.XML文档的组成部分 3.xml文档声明 3.1 什么是xml文档声明 3.2 xml文档声明结构 4.xml元素 4.1 xml元素的格…

网络运维学习笔记 012网工初级(HCIA-Datacom与CCNA-EI)某机构新增:GRE隧道与EBGP实施

文章目录 GRE隧道(通用路由封装,Generic Routing Encapsulation)协议号47实验:思科:开始实施: 华为:开始实施: eBGP实施思科:华为: GRE隧道(通用路…

RK3568开发板/电脑/ubuntu处于同一网段互通

1.查看无线局域网适配器WLAN winR输入cmd打开电脑终端输入ipconfig或arp -a查看无线局域网IP地址,这就是WIFI. 这里的IPv4是192.168.0.147,默认网关是192.168.0.1,根据网关地址配以太网IP, ubuntu的IP,和rk3568的IP。 且IP范围为192.168.…

如何调用 DeepSeek API:详细教程与示例

目录 一、准备工作 二、DeepSeek API 调用步骤 1. 选择 API 端点 2. 构建 API 请求 3. 发送请求并处理响应 三、Python 示例:调用 DeepSeek API 1. 安装依赖 2. 编写代码 3. 运行代码 四、常见问题及解决方法 1. API 调用返回 401 错误 2. API 调用返回…

如何在Jenkins上查看Junit报告

在 Jenkins 上查看 JUnit 报告通常有以下几个步骤: 构建结果页面: 首先,确保你的 Jenkins 构建已经执行完毕,并且成功生成了 JUnit 报告。前往 Jenkins 主页面,点击进入相应的项目或流水线。 构建记录: 选择你想查看的特定构建记…

【深度学习】计算机视觉(CV)-图像生成-风格迁移(Style Transfer)

风格迁移(Style Transfer) 风格迁移是一种计算机视觉技术,可以将一张图像的内容和另一张图像的风格融合在一起,生成一张既保留原始内容,又带有目标风格的全新图像!这种方法常用于艺术创作、图像增强、甚至…

在项目中调用本地Deepseek(接入本地Deepseek)

前言 之前发表的文章已经讲了如何本地部署Deepseek模型,并且如何给Deepseek模型投喂数据、搭建本地知识库,但大部分人不知道怎么应用,让自己的项目接入AI模型。 文末有彩蛋哦!!! 要接入本地部署的deepsee…

JAVA中常用类型

一、包装类 1.1 包装类简介 java是面向对象的语言,但是八大基本数据类型不符合面向对象的特征。因此为了弥补这种缺点,为这八中基本数据类型专门设计了八中符合面向面向对象的特征的类型,这八种具有面向对象特征的类型,就叫做包…

使用 GPTQ 进行 4 位 LLM 量化

权重量化方面的最新进展使我们能够在消费级硬件上运行大量大型语言模型,例如 RTX 3090 GPU 上的 LLaMA-30B 模型。这要归功于性能下降最小的新型 4 位量化技术,例如GPTQ、GGML和NF4。 在本文中,我们将探索流行的 GPTQ 算法,以了解…

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

【黑马点评优化】2-Canel实现多级缓存(RedisCaffeine)同步 0 背景1 配置MySQL1.1 开启MySQL的binlog功能1.1.1 找到mysql配置文件my.ini的位置1.1.2 开启binlog 1.2 创建canal用户 2 下载配置canal2.1 canal 1.1.5下载2.2 配置canal2.3 启动canal2.4 测试…

CPP集群聊天服务器开发实践(五):nginx负载均衡配置

1 负载均衡器的原理与功能 单台Chatserver可以容纳大约两万台客户端同时在线聊天,为了提升并发量最直观的办法需要水平扩展服务器的数量,三台服务器可以容纳六万左右的客户端。 负载均衡器的作用: 把client的请求按照负载均衡算法分发到具体…

百问网(100ask)的IMX6ULL开发板的以太网控制器(MAC)与物理层(PHY)芯片(LAN8720A)连接的原理图分析(包含各引脚说明以及工作原理)

前言 本博文承接博文 https://blog.csdn.net/wenhao_ir/article/details/145663029 。 本博文和博文 https://blog.csdn.net/wenhao_ir/article/details/145663029 的目录是找出百问网(100ask)的IMX6ULL开发板与NXP官方提供的公板MCIMX6ULL-EVK(imx6ull14x14evk)在以太网硬件…

组件库地址

react: https://react-vant.3lang.dev/components/dialoghttps://react-vant.3lang.dev/components/dialog vue用v2的 Vant 2 - Mobile UI Components built on Vue

2025.2.16机器学习笔记:TimeGan文献阅读

2025.2.9周报 一、文献阅读题目信息摘要Abstract创新点网络架构一、嵌入函数二、恢复函数三、序列生成器四、序列判别器损失函数 实验结论后续展望 一、文献阅读 题目信息 题目: Time-series Generative Adversarial Networks会议: Neural Information…

最新智能优化算法: 中华穿山甲优化( Chinese Pangolin Optimizer ,CPO)算法求解23个经典函数测试集,MATLAB代码

中华穿山甲优化( Chinese Pangolin Optimizer ,CPO)算法由GUO Zhiqing 等人提出,该算法的灵感来自中华穿山甲独特的狩猎行为,包括引诱和捕食行为。 算法流程如下: 1. 开始 设置算法参数和最大迭代次数&a…

使用 DeepSeek + 语音转文字工具 实现会议整理

目录 简述 1. DeepSeek与常用的语音转文字工具 1.1 DeepSeek 1.2 讯飞听见 1.3 飞书妙记 1.4 剪映电脑版 1.5 Buzz 2. 安装Buzz 3. 使用DeepSeek Buzz提取并整理语音文字 3.1 使用 Buzz 完成语音转文字工作 3.2 使用 DeepSeek 进行文本处理工作 3.3 整理成思维导图…

【OS安装与使用】part4-ubuntu22.04安装anaconda

文章目录 一、待解决问题1.1 问题描述1.2 解决方法 二、方法详述2.1 必要说明2.2 应用步骤2.2.1 官网下载Anaconda(1)确认自己的系统型号与硬件架构(2)官网下载对应版本 2.2.2 安装Anaconda(1)基于shell脚本…

Spring IoC DI:控制反转与依赖注入

目录 前言 - Spring MVC 与 Spring IoC 之间的关系 1. IoC 1.1 Spring Framework, Spring MVC, Spring boot 之间的联系[面试题] 1.2 什么是容器 1.3 什么是 IoC 2. DI 2.1 什么是 DI 3. Spring IoC & DI 3.1 Component 3.2 Autowired 4. IoC 详解 4.1 Applica…