Bootstrap

if($b>1234)[php]比较大小绕过

小学期的一道题,特此记录。

题目主要是if($a == 0 && $a),if(is_numeric($b))和if($b>1234) 

在php中a='0'和a=0是不一样的,前者是字符串,后者是数值。

对于字符串,比如a='0',字符串在进行比较值的时候会被当作0处理。而且同时a='0'本身会被当作真值处理,这样就满足了if($a==0&&$a),而a=0虽然值为0,但是由于是数值,会被当作假值处理,也就是$a为布尔值0。

所以此处输入a='0'可以绕过。当然也可以是任意字符,比如'。(引号)

接着是if(is_numeric($b))和if($b>1234)  ,先是判断b是否为数字,接着判断是否大于1234.

既要不是纯数字,又要大于1234。就可以通过数字+字符绕过。

比如1235c。前面说过,字符串的值会被当作0,这里的1235c就会变成1235来进行大小比较,这样既绕过b不能是数字的限制,又大于1234。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;