$_GET['cat'],$_GET['dog']在什么情况下 $v3才等于1?
程序员文章站
2022-06-03 16:14:46
...
$v3 = 0;
$c=@$_GET['cat'];
$d=@$_GET['dog'];
if(@$c[1]){
if(!strcmp($c[1],$d) && $c[1]!==$d){
echo $d.$c[0];
eregi("3|1|c",$d.$c[0])?die("nope"):NULL;
strpos(($c[0].$d), "htctf2016")?$v3=1:NULL;
}
}
$_GET['cat'],$_GET['dog']在什么情况下 $v3才等于1?
回复内容:
$v3 = 0;
$c=@$_GET['cat'];
$d=@$_GET['dog'];
if(@$c[1]){
if(!strcmp($c[1],$d) && $c[1]!==$d){
echo $d.$c[0];
eregi("3|1|c",$d.$c[0])?die("nope"):NULL;
strpos(($c[0].$d), "htctf2016")?$v3=1:NULL;
}
}
$_GET['cat'],$_GET['dog']在什么情况下 $v3才等于1?
这题是PHP弱类型的造成的,这里用到的技巧是,array和string进行strcmp比较的时候会返回一个null,%00可以截断eregi。
上一篇: PHP中索引数组如何给对象赋值?
下一篇: php新手的表单提交有关问题