引入接口频率限制机制
This commit is contained in:
@@ -6,6 +6,7 @@ from applications.common.utils.http import success_api, fail_api, table_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.common.utils.validate import str_escape
|
||||
from applications.extensions import db
|
||||
from applications.extensions.init_limit import limiter
|
||||
from applications.models import Dept, User
|
||||
from applications.schemas import DeptSchema
|
||||
|
||||
@@ -18,6 +19,7 @@ def main():
|
||||
|
||||
|
||||
@bp.post('/data')
|
||||
@limiter.limit("60 per minute")
|
||||
@authorize("system:dept:main", log=True)
|
||||
def data():
|
||||
dept = Dept.query.order_by(Dept.sort).all()
|
||||
|
||||
@@ -6,6 +6,7 @@ from applications.common.utils.http import table_api, success_api, fail_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.common.utils.validate import str_escape
|
||||
from applications.extensions import db
|
||||
from applications.extensions.init_limit import limiter
|
||||
from applications.models import DictType, DictData
|
||||
from applications.schemas import DictTypeOutSchema, DictDataOutSchema
|
||||
|
||||
@@ -20,6 +21,7 @@ def main():
|
||||
|
||||
|
||||
@bp.get('/dictType/data')
|
||||
@limiter.limit("60 per minute")
|
||||
@authorize("system:dict:main")
|
||||
def dict_type_data():
|
||||
# 获取请求参数
|
||||
@@ -154,6 +156,7 @@ def dict_type_delete(_id):
|
||||
|
||||
|
||||
@bp.get('/dictData/data')
|
||||
@limiter.limit("60 per minute")
|
||||
@authorize("system:dict:main", log=True)
|
||||
def dict_code_data():
|
||||
type_code = str_escape(request.args.get('typeCode', type=str))
|
||||
|
||||
@@ -4,6 +4,7 @@ from flask import Blueprint, request, render_template, jsonify, current_app
|
||||
from applications.common.utils.http import fail_api, success_api, table_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.extensions import db
|
||||
from applications.extensions.init_limit import limiter
|
||||
from applications.models import Photo
|
||||
from applications.common.utils import upload as upload_curd
|
||||
|
||||
@@ -19,6 +20,7 @@ def index():
|
||||
|
||||
# 图片数据
|
||||
@bp.get('/table')
|
||||
@limiter.limit("60 per minute")
|
||||
@authorize("system:file:main")
|
||||
def table():
|
||||
page = request.args.get('page', type=int)
|
||||
|
||||
@@ -7,6 +7,7 @@ from applications.common.utils.http import table_api, fail_api, success_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.common.utils.validate import str_escape
|
||||
from applications.extensions import db
|
||||
from applications.extensions.init_limit import limiter
|
||||
from applications.models import Mail
|
||||
from applications.schemas import MailOutSchema
|
||||
from applications.common.utils import mail
|
||||
@@ -24,6 +25,7 @@ def main():
|
||||
|
||||
# 用户分页查询
|
||||
@bp.get('/data')
|
||||
@limiter.limit("60 per minute")
|
||||
@authorize("system:mail:main")
|
||||
def data():
|
||||
# 获取请求参数
|
||||
|
||||
@@ -5,6 +5,7 @@ from applications.common.utils.http import success_api, fail_api, table_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.common.utils.validate import str_escape
|
||||
from applications.extensions import db
|
||||
from applications.extensions.init_limit import limiter
|
||||
from applications.models import Power
|
||||
from applications.schemas import PowerOutSchema2
|
||||
from applications.schemas.admin_power import PowerSchema
|
||||
@@ -19,6 +20,7 @@ def index():
|
||||
|
||||
|
||||
@bp.post('/data')
|
||||
@limiter.limit("60 per minute")
|
||||
@authorize("system:power:main")
|
||||
def data():
|
||||
power = Power.query.all()
|
||||
|
||||
@@ -6,6 +6,7 @@ from applications.common.utils.http import table_api, success_api, fail_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.common.utils.validate import str_escape
|
||||
from applications.extensions import db
|
||||
from applications.extensions.init_limit import limiter
|
||||
from applications.models import Role, Power, User
|
||||
from applications.schemas import RoleOutSchema, PowerOutSchema2
|
||||
|
||||
@@ -20,6 +21,7 @@ def main():
|
||||
|
||||
# 表格数据
|
||||
@bp.get('/data')
|
||||
@limiter.limit("60 per minute")
|
||||
@authorize("system:role:main")
|
||||
def table():
|
||||
role_name = str_escape(request.args.get('roleName', type=str))
|
||||
|
||||
@@ -8,6 +8,7 @@ from applications.common.utils.http import table_api, fail_api, success_api
|
||||
from applications.common.utils.rights import authorize
|
||||
from applications.common.utils.validate import str_escape
|
||||
from applications.extensions import db
|
||||
from applications.extensions.init_limit import limiter
|
||||
from applications.models import Role, Dept
|
||||
from applications.models import User, AdminLog
|
||||
|
||||
@@ -23,6 +24,7 @@ def main():
|
||||
|
||||
# 用户分页查询
|
||||
@bp.get('/data')
|
||||
@limiter.limit("60 per minute")
|
||||
@authorize("system:user:main")
|
||||
def data():
|
||||
# 获取请求参数
|
||||
|
||||
Reference in New Issue
Block a user