fix: harden cloud storage security
This commit is contained in:
@@ -19,8 +19,20 @@ shares.forEach(share => {
|
||||
|
||||
// 如果是ISO格式(包含T和Z),需要转换
|
||||
if (oldFormat.includes('T') || oldFormat.includes('Z')) {
|
||||
// 转换为 SQLite datetime 格式: YYYY-MM-DD HH:MM:SS
|
||||
const newFormat = oldFormat.replace('T', ' ').replace(/\.\d+Z$/, '');
|
||||
const parsed = new Date(oldFormat);
|
||||
if (Number.isNaN(parsed.getTime())) {
|
||||
console.warn(`跳过无法解析的时间: ${share.share_code} -> ${oldFormat}`);
|
||||
return;
|
||||
}
|
||||
|
||||
// 转换为本地时区 SQLite datetime 格式: YYYY-MM-DD HH:MM:SS
|
||||
const year = parsed.getFullYear();
|
||||
const month = String(parsed.getMonth() + 1).padStart(2, '0');
|
||||
const day = String(parsed.getDate()).padStart(2, '0');
|
||||
const hours = String(parsed.getHours()).padStart(2, '0');
|
||||
const minutes = String(parsed.getMinutes()).padStart(2, '0');
|
||||
const seconds = String(parsed.getSeconds()).padStart(2, '0');
|
||||
const newFormat = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
||||
|
||||
updateStmt.run(newFormat, share.id);
|
||||
fixed++;
|
||||
|
||||
Reference in New Issue
Block a user