core: delete password field when logging

This commit is contained in:
undefined committed 2021-12-27 21:21:13 +08:00
1 parent 04f20dbdd9
commit 0b2a43d6e0
3 files changed
+9 -2

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "hydrooj", "name": "hydrooj",
"version": "3.2.32", "version": "3.2.33",
"bin": "bin/hydrooj.js", "bin": "bin/hydrooj.js",
"main": "src/loader", "main": "src/loader",
"module": "src/loader", "module": "src/loader",
+3 -1
View File
@@ -16,6 +16,8 @@ export async function add(data: Partial<OplogDoc> & { type: string }): Promise<O
} }
export async function log<T extends Handler>(handler: T, type: string, data: any) { export async function log<T extends Handler>(handler: T, type: string, data: any) {
const args = { ...handler.args };
delete args.password;
const res = await coll.insertOne({ const res = await coll.insertOne({
...data, ...data,
_id: new ObjectID(), _id: new ObjectID(),
@@ -24,7 +26,7 @@ export async function log<T extends Handler>(handler: T, type: string, data: any
domainId: handler.domainId, domainId: handler.domainId,
ua: handler.request.headers?.['user-agent'], ua: handler.request.headers?.['user-agent'],
referer: handler.request.headers?.referer, referer: handler.request.headers?.referer,
args: handler.args, args,
operator: handler.user?.id, operator: handler.user?.id,
operateIp: handler.request.ip, operateIp: handler.request.ip,
}); });
+5
View File
@@ -659,6 +659,11 @@ const scripts: UpgradeScript[] = [
await db.collection('document').updateMany({ docType: document.TYPE_PROBLEM }, { $unset: { difficulty: '' } }); await db.collection('document').updateMany({ docType: document.TYPE_PROBLEM }, { $unset: { difficulty: '' } });
return true; return true;
}, },
async function _56_57() {
const _FRESH_INSTALL_IGNORE = 1;
await db.collection('oplog').deleteMany({ type: 'user.login' });
return true;
},
]; ];
export default scripts; export default scripts;