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