simple_php

simple_php 

题目描述:    

小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。

 

 1 <?php
 2     show_source(__FILE__);
 3     include("config.php");
 4     $a = @$_GET['a'];
 5     $b = @$_GET['b'];
 6     if ($a == 0 and $a) {
 7         echo $flag1;
 8     }
 9     if (is_numeric($b)) {
10         exit();
11     }
12     if ($b > 1234) {
13         echo $flag2;
14     }
15 ?>

 

 

这里涉及到的php基础知识有: 

GET方式传递参数,在url后加?+参数名称+=+参数值,

例如http://x.x.x.x/?a=1&b=2 

php弱等于,==在php中是弱等于,不比较变量类型,

直接转化为同一类型比较,这里要满足参数a等于0,且参数a为真,

根据php弱类型比较的特点,当a 的值为字母时,会将其转换为整型再比较,这里a传入一个任意字母即可。

  b的要求为is_numeric,表示判断这个变量是否为字母和数字的组合,

且b的值需要大于1234,这里传入6666a,既符合数字字母的组合,又在转换后只剩下了6666,大于1234。

 

 

 答案:   

 a=abc&b=1235a 

        任意字母     大于1234的数字+任意字母

考察内容:    

   考察PHP的弱类型比较  PHP的弱类型:    

   弱类型:非零即真    

   ==  直接比较字面量。0==false成立    

   ===  同时比较字面量和变量类型。

0===false不成立

 

 

  PHP弱类型的字符串转换数字的规则:    

若字符串以数字开头,则取开头数字作为转换结果,若无则输出0。 

  例如:123abc转换后应该是123,而abc则为0

 

posted @ 2022-04-25 20:38  limo亮少  阅读(90)  评论(0编辑  收藏  举报
​ ​
​ ​
​ ​ ​
​ ​