core: 放宽频率限制

This commit is contained in:
undefined committed 2021-07-01 09:35:54 +08:00
1 parent 213aa16c66
commit 4cf051c8d1
5 files changed
+7 -5

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "hydrooj", "name": "hydrooj",
"version": "2.29.9", "version": "2.29.10",
"bin": "bin/hydrooj.js", "bin": "bin/hydrooj.js",
"main": "dist/loader.js", "main": "dist/loader.js",
"typings": "dist/loader.d.ts", "typings": "dist/loader.d.ts",
+1 -1
View File
@@ -348,7 +348,7 @@ export class ContestDetailProblemSubmitHandler extends ContestProblemHandler {
if (this.domain.langs && !this.domain.langs.includes(lang)) { if (this.domain.langs && !this.domain.langs.includes(lang)) {
throw new BadRequestError('Language not allowed'); throw new BadRequestError('Language not allowed');
} }
await this.limitRate('add_record', 60, 10); await this.limitRate('add_record', 60, system.get('limit.submission'));
const rid = await record.add(domainId, pid, this.user._id, lang, code, true, pretest ? input : { const rid = await record.add(domainId, pid, this.user._id, lang, code, true, pretest ? input : {
type: document.TYPE_CONTEST, type: document.TYPE_CONTEST,
tid, tid,
+1 -1
View File
@@ -223,7 +223,7 @@ class HomeworkDetailProblemSubmitHandler extends HomeworkDetailProblemHandler {
if (this.domain.langs && !this.domain.langs.includes(lang)) { if (this.domain.langs && !this.domain.langs.includes(lang)) {
throw new BadRequestError('Language not allowed'); throw new BadRequestError('Language not allowed');
} }
await this.limitRate('add_record', 60, 5); await this.limitRate('add_record', 60, system.get('limit.submission'));
const rid = await record.add(domainId, pid, this.user._id, lang, code, true, pretest ? input : { const rid = await record.add(domainId, pid, this.user._id, lang, code, true, pretest ? input : {
type: document.TYPE_HOMEWORK, type: document.TYPE_HOMEWORK,
tid, tid,
+2 -2
View File
@@ -252,7 +252,7 @@ export class ProblemSubmitHandler extends ProblemDetailHandler {
if (this.domain.langs && !this.domain.langs.includes(lang)) { if (this.domain.langs && !this.domain.langs.includes(lang)) {
throw new BadRequestError('Language not allowed'); throw new BadRequestError('Language not allowed');
} }
await this.limitRate('add_record', 60, 5); await this.limitRate('add_record', 60, system.get('limit.submission'));
const rid = await record.add(domainId, this.pdoc.docId, this.user._id, lang, code, true, pretest ? input : undefined); const rid = await record.add(domainId, this.pdoc.docId, this.user._id, lang, code, true, pretest ? input : undefined);
const rdoc = await record.get(domainId, rid); const rdoc = await record.get(domainId, rid);
if (!pretest) { if (!pretest) {
@@ -273,7 +273,7 @@ export class ProblemPretestHandler extends ProblemDetailHandler {
@param('code', Types.Content) @param('code', Types.Content)
@param('input', Types.Content, true) @param('input', Types.Content, true)
async post(domainId: string, lang: string, code: string, input = '') { async post(domainId: string, lang: string, code: string, input = '') {
await this.limitRate('add_record', 60, 5); await this.limitRate('do_pretest', 60, system.get('limit.pretest'));
const rid = await record.add( const rid = await record.add(
domainId, this.pdoc.docId, this.user._id, domainId, this.pdoc.docId, this.user._id,
lang, code, true, input, lang, code, true, input,
+2
View File
@@ -187,6 +187,8 @@ SystemSetting(
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'),
Setting('setting_limits', 'limit.user_files_size', 128 * 1024 * 1024, 'number', 'limit.user_files_size', 'Max total file size for user'), Setting('setting_limits', 'limit.user_files_size', 128 * 1024 * 1024, 'number', 'limit.user_files_size', 'Max total file size for user'),
Setting('setting_limits', 'limit.submisson', 30, 'number', 'limit.submission', 'Max submission count per minute'),
Setting('setting_limits', 'limit.pretest', 60, 'number', 'limit.pretest', 'Max pretest count per minute'),
Setting('setting_basic', 'default.priv', builtin.PRIV.PRIV_DEFAULT, 'number', 'default.priv', 'Default Privilege', FLAG_PRO), Setting('setting_basic', 'default.priv', builtin.PRIV.PRIV_DEFAULT, 'number', 'default.priv', 'Default Privilege', FLAG_PRO),
Setting('setting_basic', 'problem.categories', builtin.CATEGORIES, 'yaml', 'problem.categories', 'Problem Categories'), Setting('setting_basic', 'problem.categories', builtin.CATEGORIES, 'yaml', 'problem.categories', 'Problem Categories'),
Setting('setting_basic', 'pagination.problem', 100, 'number', 'pagination.problem', 'Problems per page'), Setting('setting_basic', 'pagination.problem', 100, 'number', 'pagination.problem', 'Problems per page'),