mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-20 17:46:28 +08:00
core: allow stateless UA
This commit is contained in:
1 parent
f46b1134d6
commit
a5b5ae49d4
3 files changed
+14
-3
No files matched your search
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "hydrooj",
|
"name": "hydrooj",
|
||||||
"version": "2.39.19",
|
"version": "2.39.20",
|
||||||
"bin": "bin/hydrooj.js",
|
"bin": "bin/hydrooj.js",
|
||||||
"main": "src/loader",
|
"main": "src/loader",
|
||||||
"module": "src/loader",
|
"module": "src/loader",
|
||||||
|
|||||||
@@ -154,6 +154,14 @@ DomainUserSetting(
|
|||||||
Setting('setting_storage', 'level', 0, 'number', 'level', null, FLAG_HIDDEN | FLAG_DISABLED),
|
Setting('setting_storage', 'level', 0, 'number', 'level', null, FLAG_HIDDEN | FLAG_DISABLED),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const ignoreUA = [
|
||||||
|
'bingbot',
|
||||||
|
'Gatus',
|
||||||
|
'Googlebot',
|
||||||
|
'Uptime',
|
||||||
|
'YandexBot',
|
||||||
|
].join('\n');
|
||||||
|
|
||||||
SystemSetting(
|
SystemSetting(
|
||||||
Setting('setting_file', 'file.endPoint', 'http://127.0.0.1:9000', 'text', 'file.endPoint', 'Storage engine endPoint'),
|
Setting('setting_file', 'file.endPoint', 'http://127.0.0.1:9000', 'text', 'file.endPoint', 'Storage engine endPoint'),
|
||||||
Setting('setting_file', 'file.accessKey', null, 'text', 'file.accessKey', 'Storage engine accessKey'),
|
Setting('setting_file', 'file.accessKey', null, 'text', 'file.accessKey', 'Storage engine accessKey'),
|
||||||
@@ -182,6 +190,7 @@ SystemSetting(
|
|||||||
Setting('setting_server', 'server.language', 'zh_CN', langRange, 'server.language', 'Default display language'),
|
Setting('setting_server', 'server.language', 'zh_CN', langRange, 'server.language', 'Default display language'),
|
||||||
Setting('setting_server', 'server.login', true, 'boolean', 'server.login', 'Allow builtin-login', FLAG_PRO),
|
Setting('setting_server', 'server.login', true, 'boolean', 'server.login', 'Allow builtin-login', FLAG_PRO),
|
||||||
Setting('setting_server', 'server.message', true, 'boolean', 'server.message', 'Allow users send messages'),
|
Setting('setting_server', 'server.message', true, 'boolean', 'server.message', 'Allow users send messages'),
|
||||||
|
Setting('setting_server', 'server.ignoreUA', ignoreUA, 'textarea', 'server.ignoreUA', 'ignoredUA'),
|
||||||
Setting('setting_limits', 'limit.problem_files_max', 100, 'number', 'limit.problem_files_max', 'Max files per problem'),
|
Setting('setting_limits', 'limit.problem_files_max', 100, 'number', 'limit.problem_files_max', 'Max files per problem'),
|
||||||
Setting('setting_limits', 'limit.problem_files_size_max', 128 * 1024 * 1024, 'number', 'limit.problem_files_size_max', 'Max files size per problem'),
|
Setting('setting_limits', 'limit.problem_files_size_max', 128 * 1024 * 1024, 'number', 'limit.problem_files_size_max', 'Max files size per problem'),
|
||||||
Setting('setting_limits', 'limit.user_files', 100, 'number', 'limit.user_files', 'Max files for user'),
|
Setting('setting_limits', 'limit.user_files', 100, 'number', 'limit.user_files', 'Max files for user'),
|
||||||
|
|||||||
@@ -620,16 +620,18 @@ export class Handler extends HandlerCommon {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async saveCookie() {
|
async saveCookie() {
|
||||||
|
const ua = this.request.headers['user-agent'] || '';
|
||||||
|
if (!this.session.uid && system.get('server.ignoreUA').split('\n').filter((i) => i && ua.includes(i)).length) return;
|
||||||
const expireSeconds = this.session.save
|
const expireSeconds = this.session.save
|
||||||
? system.get('session.saved_expire_seconds')
|
? system.get('session.saved_expire_seconds')
|
||||||
: system.get('session.unsaved_expire_seconds');
|
: system.get('session.unsaved_expire_seconds');
|
||||||
const $update = {
|
const $update = {
|
||||||
updateIp: this.request.ip,
|
updateIp: this.request.ip,
|
||||||
updateUa: this.request.headers['user-agent'] || '',
|
updateUa: ua,
|
||||||
};
|
};
|
||||||
const $create = {
|
const $create = {
|
||||||
createIp: this.request.ip,
|
createIp: this.request.ip,
|
||||||
createUa: this.request.headers['user-agent'] || '',
|
createUa: ua,
|
||||||
createHost: this.request.host,
|
createHost: this.request.host,
|
||||||
};
|
};
|
||||||
if (this.session._id) {
|
if (this.session._id) {
|
||||||
|
|||||||
Reference in new issue
Block a user