$_GET['cat'],$_GET['dog']在什么情况下 $v3才等于1?

原创
2016-08-04 09:20:351009浏览

$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。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
PHP培训优惠套餐