欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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