php项目防止sql注入的方法

  Sql注入:通过在表单中添加特殊的字符或url中增加特殊的字符,然后向数据库发起请求,拼凑出sql语句,达到攻击的目的

有两种:

1、Post

2、Get

 

Post的万能密码:xxxor 1

如何防范万能密码:

最简单的方式,就是密码加密:md5, sha1


万能用户名:xxxx' OR 1#

如何防范万能用户名:

让单引号失去本身的含义,利用addslashes函数进行转义,以下为转义的函数:

function deepslashes($data){
	//判断$data的表现形式,并且需要处理空的情况
	if(empty($data)){
		return $data;
	}
	//中高级程序员写法
	return is_array($data) ? array_map('deepslashes', $data) : addslashes($data);
}



在接受get传参的时候,也需要处理一下,通常就是传递id的时候。

处理方法很简单,只需要将参数 转成 整型即可。

如 1 or 1 -----> 1

有哪些方式:

1、强制转换,使用函数intval 或者 数据类型的 关键字 int

2、隐式转换,通过运算, 只需要 +0 即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值