看不见的字符之毒——对入参数没有强验证

看不见的字符之毒

/v1/pay/pay-query?pay_type=15&pay_sn=2020011420190534404
## pay_sn之前的等号删除重写,前面的?就消失了
			$pay_sn = $params['pay_sn'] ?? '';
            var_dump($pay_sn);
            $encode = mb_detect_encoding($pay_sn, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'));
            var_dump($encode);
            $pay_sn = mb_convert_encoding($pay_sn, 'ASCII', $encode);
            var_dump($pay_sn);

结果展示

PayLogic.php:2540:string '‌2020011420190534404' (length=22)
PayLogic.php:2542:string 'UTF-8' (length=5)
PayLogic.php:2544:string '?2020011420190534404' (length=20)
{"time":1579105329.221,"message":"ok","code":0,"status":200,"data":{"success":false,"msg":"找不到支付记录","data":[]}}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值