您现在的位置是:自如初>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)
下一篇:PHP安全之道之数组比较比较缺陷
相关文章
文章评论
点击排行

- CentOS8编译安装(升级)php7.4.1及问题解决
- 全网最细且手把手一起学CentOS8.0源码编译安装LAMP环境之apache2源码安装(一)
- ThinkPHP6使用Base公共控制器redirect()不起作用的解决方法
- 全网最细且手把手一起学CentOS8.0源码编译安装LNMP环境之nginx源码安装(一)
- WSL安装Linux报错WslRegisterDistribution failed with error: 0x80370102
- 快速上手Laravel6 Eloquent ORM 增删改查
- 超级详细的CentOS8安装composer
- ThinkPHP6上传图片至七牛云