PHP中该怎样避免SQL注入?

访客5年前关于黑客接单431

问题描述:

假如用户输入的数据在未经处理的情况下刺进到一条SQL查询句子,那么运用将很可能遭受到SQL注入进犯,正如下面的比如:

$unsafe_variable = $_POST['user_input'];
mysql_query("INSERT
			INTO
			`table` (`column`) VALUES ('" . $unsafe_variable .  "')");

由于用户的输入可能是这样的:

value'); DROP
			TABLE
			table;--

那么SQL查询将变成如下:

INSERT
			INTO
			`table` (`column`) VALUES('value');
		DROP
			TABLE
			table;--')

应该采纳哪些有用的办法来避免SQL注入?

更佳答复(来自Theo):

运用预处理句子和参数化查询。预处理句子和参数别离发送到数据库服务器进行解析,参数将会被当作一般字符处理。这种办法使得进犯者无法注入歹意的SQL。 你有两种挑选来完成该办法:

[1] [2] [3]  黑客接单网

相关文章

支撑新处理器架构的Mirai变种呈现

概述 2019年2月底,unit 42研究人员发现了新出现的为新处理器架构编译的Mirai样本。尽管Mirai的源码在2019年就揭露了,可是它的进犯方针是特定的一批处理器架构集。 Unit 42研究...

一个CMS事例实战解说PHP代码审计入门

前语 php代码审计介绍:望文生义便是查看php源代码中的缺陷和错误信息,剖析并找到这些问题引发的安全漏洞。 1、环境建立: 工欲善其事必先利其器,先介绍代码审计必要的环境建立 审计环境 window...

2019 神盾杯 final Writeup(二)-黑客接单平台

前语 接之前的剖析文章,本篇文章将2019 神盾杯线下赛后续两道web题也解析一下。 web3 预置后门扫描 翻开源码发现是干流cms typecho,先上东西扫一波: 一起注意到版别号: 依...

一个MongoDB注入进犯事例剖析

在开端咱们的MongoDB“注入之旅”之前,咱们需求先知道和其他数据库比较,为什么咱们更乐意选MongoDB——由于MongoDB并不是SQL作为查询句子,所以人们可能会认为这样的数据库难以进行注入进...

自己着手打造Fiddler挖洞插件

关于一个Web开发人员来说,Fiddler并不生疏。作为一款Web调试利器,它具有强壮的调试功用,灵敏的装备以及丰厚的可扩展功用。我在开发工作中,最喜爱的便是它的Inspectors和AutoResp...

把PHP LFI缝隙变为Webshell的形式

存眷PHP缝隙的同伙必定知道LFI+phpinfo可以搞出一个webshell。 LFI这个条件还算异常,但phpinfo这个照样比较难凑的,所以有点鸡肋。接下来,我共享一个……异常鸡肋的思绪……人人...