<?php
error_reporting(0);
require __DIR__.'/lib.php';
if(isset($_GET['time'])){
if(!is_numeric($_GET['time'])){
echo 'The time must be number.';
}else if($_GET['time'] < 60 * 60 * 24 * 30 * 2){
echo 'This time is too short.';
}else if($_GET['time'] > 60 * 60 * 24 * 30 * 3){
echo 'This time is too long.';
}else{
sleep((int)$_GET['time']);
echo $flag;
}
echo '<hr>';
}
highlight_file(__FILE__);
参数 time
第一个if 不能为数字
第二个判断
必须大于
>>> 606024302
5184000
第三个判断 必须小于
>>> 606024303
7776000
第四个判断
sleep(int())
必须要在 5184000 和 7776000 之间
然后这里又是sleep 函数 必须是整数
在中间的值取个整数 6000000
但是这样的话他会执行 6000000秒 这不行
这里可以使用科学计数法
6e6
-----------------------------------------------------------------------------------------------------------
1、当一个字符串被当作一个数值来取值,其结果和类型如下:如果该字符串没有包含’.‘,’e’,’E’并且其数值值在整形的范围之内,该字符串被当作int来取值。其他所有情况下都被作为float来取值,该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0。
2、在进行比较运算时,如果遇到了0e这类字符串,PHP会将它解析为科学计数法。(也就是说只靠最前面的进行判断)
3、在进行比较运算时,如果遇到了0x这类字符串,PHP会将它解析为十六进制。