预备知识:
ord() 函数返回字符串的首个字符的 ASCII 值。
题目:
<?php
function noother_says_correct($number)
{
$one = ord('1');
$nine = ord('9');
for ($i = 0; $i < strlen($number); $i++)
{
$digit = ord($number{$i});
if ( ($digit >= $one) && ($digit <= $nine) )
{
return false;
}
}
return $number == '54975581388';
}
$flag='*******';
if(noother_says_correct($_GET['key']))
echo $flag;
else
echo 'access denied';
?>
题意就是输入一个字符串key,这个字符串key!='54975581388',
所以我们想到了php弱类型,54975581388的十六进制为54975581388==0xccccccccc,
-----------------------------------------
知识点:
ord()
php弱类型
十六进制以0x开头