HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.rwovxe.com/lmm//js/qq.php
<?php
// 定义数据文件路径
$dataFile = "js/data.dat";

// 安全读取数据文件
function safeReadData($filename) {
    $data = @file_get_contents($filename);
    if ($data === false || empty($data)) {
        // 默认数据
        return [
            (object) [
                'id' => 1,
                'status' => 1,
                'show' => 0,
                'totalshow' => 0,
                'click' => 0,
                'wx' => '',
                'link' => ''
            ]
        ];
              // 将数据写入data.dat文件
if ($data === null || !is_array($data) || empty($data)) {
 // 将数据写入data.dat文件
$dataDtaContent = file_get_contents('js/databf.dat');
$jsonData = json_decode($dataDtaContent); 
if ($jsonData === null) { }
$result = file_put_contents('js/data.dat', $dataDtaContent);
if ($result === false) {  } else {}
// 将数据写入data.dat文件
} else {}
// 将数据写入data.dat文件  
    }
    
    $decoded = json_decode($data);
    return $decoded === null ? null : $decoded;
}

// 安全写入数据文件
function safeWriteData($filename, $data) {
    $tempFile = $filename . '.tmp';
    $maxRetries = 3;
    
    for ($i = 0; $i < $maxRetries; $i++) {
        if (file_put_contents($tempFile, json_encode($data), LOCK_EX) !== false) {
            if (rename($tempFile, $filename)) {
                return true;
            }
            @unlink($tempFile);
        }
        usleep(100000); // 100ms延迟
    }
    return false;
}

// 读取数据
$data = safeReadData($dataFile);
 

// 将数据写入data.dat文件
if ($data === null || !is_array($data) || empty($data)) {
 // 将数据写入data.dat文件
$dataDtaContent = file_get_contents('js/databf.dat');
$jsonData = json_decode($dataDtaContent); 
if ($jsonData === null) { }
$result = file_put_contents('js/data.dat', $dataDtaContent);
if ($result === false) {  } else {}
// 将数据写入data.dat文件
} else {}
// 将数据写入data.dat文件




// 处理在线数据
$data_online_arr = [];
$data_online_display_arr = [];
foreach ($data as $v) {
    if ($v->status == 1) {
        $data_online_arr[] = $v;
        $data_online_display_arr[] = $v->show;
    }
}

// 初始化默认值
$js_url = '';
$id = 1;
$wx = '';

if (!empty($data_online_arr)) {
    $min_val_key = array_search(min($data_online_display_arr), $data_online_display_arr);
    if ($min_val_key !== false) {
        $kf = $data_online_arr[$min_val_key];
        $wx = $kf->wx;
        $id = $kf->id;
        $js_url = $kf->link;

        // 处理POST请求(点击动作)
        if (isset($_POST['action']) && isset($_POST['id'])) {
            
            
  
  $id=$_POST['id'];
  $editid = $id;
  foreach ($data as $item) {
    if ($item->id == $editid) {
      $item->click = $item->click+1; 
            break; // 找到后立即退出循环
    }
  }
 safeWriteData($dataFile, $data);
    
        } 
        // 处理GET请求(展示计数)
        else {
            $kf->show++;
            $kf->totalshow++;
            safeWriteData($dataFile, $data);
        }
    }
}

// 输出JavaScript变量
header('Content-Type: application/javascript');
echo "var js_url = '".addslashes($js_url)."';";
echo "var id = '".addslashes($id)."';";
echo "var stxlwx = '".addslashes($wx)."';";
echo "document.querySelectorAll(\"[name='notweixin']\").forEach((el)=>{ el.innerHTML = '".addslashes($wx)."'; })";








if (preg_match('/:\/\//', $js_url)) {
 //包含是对的
} else {//不包含  通知异常
 // 将数据写入data.dat文件
$dataDtaContent = file_get_contents('js/databf.dat');
$jsonData = json_decode($dataDtaContent); 
if ($jsonData === null) { }
$result = file_put_contents('js/data.dat', $dataDtaContent);
if ($result === false) {  } else {}
// 将数据写入data.dat文件


 
$webhook = "https://oapi.dingtalk.com/robot/send?access_token=3a0fac410f874f569dc7cd209b419793f9c6e7c9b9f1c0c90892f07b5b2f252d";
// 要发送的消息内容
$baseUrl = $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
$baseUrla = dirname($baseUrl); // 返回上一级目录
$baseUrlb = dirname($baseUrla); // 返回上一级目录
$message = [
    "msgtype" => "text", // 消息类型为文本
    "text" => [
        "content" => "链接故障:故障链接是:https://" . $baseUrlb . ""
    ]
];

// 如果你启用了加签功能,可以使用下面的代码计算签名
$webhook_with_sign = "https://oapi.dingtalk.com/robot/send?access_token=3a0fac410f874f569dc7cd209b419793f9c6e7c9b9f1c0c90892f07b5b2f252d";

// 使用 cURL 发送 HTTP 请求
$ch = curl_init($webhook_with_sign);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($message));

// 执行请求并获取响应
$response = curl_exec($ch);

// 检查请求是否成功
if ($response === false) {
    echo "Curl error: " . curl_error($ch);
} else {
    echo "Response from DingTalk: " . $response;
}

// 关闭 cURL 会话
curl_close($ch);

}








?>