您现在的位置是:自如初>PHP基础PHP基础

PHP安全之道之switch比较缺陷

小白 2020-10-11 21:41:01 PHP基础 300人已围观

简介PHP安全之道之switch比较缺陷。当在switch中使用case判断数字时,switch会将其中的参数转换为int类型进行计算。

当在switch中使用case判断数字时,switch会将其中的参数转换为int类型进行计算。

$num = '2www.ziruchu.com';
switch ($num) {
case 0:
 echo '你被转为了数字,我是0';
break;
case 1:
 echo '你被转为了数字,我是1';
break;
case 2:
 echo '你被转为了数字,我是2';
break;
default:
 echo '你是谁?~~~';
}

上述代码结果输出了‘你被转为了数字,我是2’。

【解决之道】判断数据的合法性,对不合法的数据即使进行阻断。

$num = '2www.ziruchu.com';

if (!is_numeric($num)) {
die('类型错误,非法访问!');
}

switch ($num) {
case 0:
 echo '你被转为了数字,我是0';
break;
case 1:
 echo '你被转为了数字,我是1';
break;
case 2:
 echo '你被转为了数字,我是2';
break;
default:
 echo '你是谁?~~~';
}


我是小白,期待和优秀的你一起同行!


  小白

  2020年10月11日

很赞哦!(4)

文章评论

登录 注册

自如初--时间轴

站名:自如初

独白:向前走!向前走!

邮箱:457969743@qq.com

站点信息