PHP代码中一次SQL注入引发的线上事故

发布时间:2024年01月23日

一个阳关灿烂的上午,在工位正在开发新功能,突然产品同事说线上视频连接文章都变成一条数据 了,然后快去登录生产环境验证问题。

一.查询生产表数据,全表变成一条数据了,紧急排查问题,发现新上的功能没有缺陷问题

二.排查新功能任务,发现没有和这条数据相关的痕迹

三.排查定时任务,根据数据分析推断,拼多多平台的定时任务有问题,由于调用拼多多平台用的原生Python,未做SQL注入拦截和占位符的预处理,出现一条SQL注入的数据,导致更新条件丢失,全表被更新成一条数据

四解决方案

1.首先紧急停掉了平台脚本,

2.根据SQL平台的存档数据,回滚到之前正常数据的时间点的备份文件

3.数据库配置层面:开启sql_safe_updates配置参数后,UPDATE语句必须使用条件才能更新。

4.代码编写层,解决掉SQL注入问题,引入参数预处理和SQL注入拦截与过滤,增加安全性校验和拦截提醒。

最终问题定位到并解决了,数据恢复正常,系统恢复访问

文章来源:https://blog.csdn.net/qq_33665793/article/details/134696339
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。