Files
youpaishidifu 347af5537a 加固-04(P0-03): api/monitor.php 监控脚本鉴权 + 修复补单逻辑
- 增加鉴权:监控调用须带 ?key=monitor_key;密钥首次调用时自动生成
  (64hex,持久化到 sq_config setname='monitor_key',setname.inc.php
  增加种子行),hash_equals 校验,不匹配返回 403。杜绝匿名触发
  补单/清库。key 可通过 SELECT setvalue FROM sq_config WHERE
  setname='monitor_key' 获取,配置到 cron/监控服务。
- 修复 if(!!$result = select_limit_row(...) && count(...) > 0)
  运算符优先级断逻辑:拆为先取值再判断。
- 修复未定义变量 $tradeno(原 update 条件引用了从未赋值的 $tradeno)。
- trade_do 补单改为仅在状态 2->3 翻转成功(影响行数>0)时执行;
  影响行=0(已被先行进程完成)则跳过,防并发/重复补单。
- 修复 sq_apps 空表时 !array() 为真 导致误报"获取应用信息发生错误"
  (改为 false === 判断)。
- 结尾输出 JSON 结果(log/error),便于监控服务核对。

验证: 无key/错key 均 403;正确key 200;构造 status=2 测试订单,
首跑补单(agent 余额 100->110,trade 2->3),二跑无重复补单。
php -l 通过。
2026-10-10 11:32:56 +08:00

40 lines
1.4 KiB
PHP

<?php
$SetName = array(
'pay_domain'=>'',
'epay_pid'=>'',
'epay_key'=>'',
'epay_againcheck'=>'0',
'alipaytype'=>'0',
'qqpaytype'=>'0',
'wxpaytype'=>'0',
'kqxt'=>'1',
'yjtx'=>'1',
'alipay_id'=>'',
'alipay_rsa'=>'',
'alipay_pkey'=>'',
'tenpay_id'=>'',
'qqpay_key'=>'',
'sitename'=>'温泉PHP网络授权',
'adminqq'=>'80071319',
'adminmail'=>'80071319@qq.com',
'beian'=>'',
'weburl'=>(((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://').$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"],
'smtp_address'=>'',
'smtp_port'=>'',
'smtp_user'=>'',
'smtp_pass'=>'',
'agentnotice'=>'欢迎使用温泉PHP网络授权系统の代理端,您可以在此充值、自助提卡、开通用户等操作,如有问题请联系本站客服处理。',
'mainnav'=>'<a class="mdl-navigation__link" href="链接地址1">链接名称1</a> <a class="mdl-navigation__link" href="http://fkw.wenquan6.cn">温泉发卡网</a>',
'sitekey'=>'',
'xtsy'=>'1',
'opencode'=>'false',
'codevid'=>'',
'codekey'=>'',
'maindrawer'=>'',
'token'=>'',
'sid'=>'0',
'stime'=>'0',
// P0-03: api/monitor.php 监控鉴权密钥(首次访问监控脚本时自动生成,勿手工置空)
'monitor_key'=>''
);