v1.0.51: 批次1架构筑基 - 1)版本迁移(common/migrate.php+schema_versions+natsort迁移文件);2)登录安全(bcrypt平滑迁移login/user_add/user_update旧sha1命中自动重写+system_login_attempts限流+session加固httponly/samesite/secure);3)CSRF Token(服务端checkCsrf+auth/csrf.php登录页取token+前端common.js/login.js统一携带X-CSRF-Token);4)统一基座common/Api.php并存量强制迁移全部70个endpoint(Api::boot按public/super/module/permissions分流,写接口强制checkAjax+checkCsrf,全局异常处理);5)前端收敛(common.js新增esc转义别名);6)REV-4硬数据来源渠道可编辑(hard_update+补全弹窗下拉);7)prepared卫生(soft_update.php修复+analysis.php表名白名单REV-9)

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
qianqiuwanzi
2026-09-17 14:48:17 +08:00
parent 69fd4246c2
commit c86f08c325
91 changed files with 1072 additions and 463 deletions
+18
View File
@@ -55,3 +55,21 @@ function logCurrent($action, $module, $targetTable = null, $targetId = null, $co
$content
);
}
/**
* 技术异常日志(批次1 REV-ARCH-3):写入 runtime/logs/error-YYYYMM.log
* 业务审计走 system_logs(logAction/logCurrent),技术异常走此文件。
* @param string $message
* @param mixed $context 上下文数组,自动 JSON 编码
*/
function logError($message, $context = null)
{
$dir = __DIR__ . '/../../runtime/logs';
if (!is_dir($dir)) {
@mkdir($dir, 0775, true);
}
$line = '[' . date('Y-m-d H:i:s') . '] ' . $message
. ($context !== null ? ' ' . json_encode($context, JSON_UNESCAPED_UNICODE) : '')
. PHP_EOL;
@file_put_contents($dir . '/error-' . date('Ym') . '.log', $line, FILE_APPEND);
}