php饶过的强弱比较

强比较

使用三个等于比较,“===”,比较值,也比较类型。

a === b先判断a,b类型,若相同,则比较值,若不同,就返回false

饶过

可以通过两个相同的md5值进行绕过

也可以使用数组饶过

a[]1&b[]=1

可以在结尾加上一个字母进行绕过

a[]=123a

弱比较

使用两个等于作比较,“==”,只比较值,不比较类型

a==b先将值转换为同类型再做比较

转换的规则:

1、字符和字符作比较,同类型,比较内容

“abc”==“c” 返回false

2、数字和数字作比较

123==12 false

123=123 true

3、字符型和数字型比较,若字符开头为数字,则转换为数字,若开头不为数字,则为null与0相等。

“abc123”==123  false

“123ac”==123   true

“abc123”==0  true

“123”=123   true

“123abc” == 112   false

4、布尔型和任意值的比较

布尔值true和任意字符若比较都相等,除了0和false

5、字符型

字符型的拖比较只能使用0e饶过,且0e后面不能有字母。0e是科学计数法是一种,0e后面跟什么值都是0

常见的0e开头的md5值

QNKCDZO           0E830400451993494058024219903391

240610708           0E462097431906509019562988736854

s878926199a       0E545993274517709034328855841020

s155964671a       0E342768416822451524974117254469

s214587387a       0E848240448830537924465865611904

例如

只有一次md5加密

$a=$_GET['a'];

$a==md5($a);

$a=$_GET['a'];

$a==md5($a);

a= QNKCDZO&b=240610708

md5(‘0E830400451993494058024219903391’)=0E462097431906509019562988736854

两次md5加密

$a=$_GET['a'];

$a==md5($a);

数组饶过

md5不能加密数组,a[]=1,b[]=1,传入数组会报错,执行的话会返回空

因为md5(a[]=1)和md5(b[]=1)的值都为空,所以两个等于就为true

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值