<code>$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; } } </code>
$_GET['cat'],$_GET['dog']在什么情况下 $v3才等于1?
<code>$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; } } </code>
$_GET['cat'],$_GET['dog']在什么情况下 $v3才等于1?
这题是PHP弱类型的造成的,这里用到的技巧是,array和string进行strcmp比较的时候会返回一个null,%00可以截断eregi。