Skip to content

Commit 60a186f

Browse files
committed
perf: 前端日志记录自动排除password类字段
1 parent 25ff1d3 commit 60a186f

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

dash-fastapi-frontend/utils/common_util.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,32 @@
1+
from copy import deepcopy
12
from typing import Dict, List, Union
23

34

5+
class FilterUtil:
6+
"""
7+
过滤工具类
8+
"""
9+
10+
@classmethod
11+
def fliter_params(cls, params_name: Union[str, List[str]], fliter_dict: Dict):
12+
"""
13+
过滤字典数据中指定名称的参数
14+
15+
:param params_name: 需要过滤的参数名称
16+
:param fliter_dict: 需要过滤的字典数据
17+
:return: 过滤后的字典数据
18+
"""
19+
copy_dict = deepcopy(fliter_dict)
20+
if isinstance(params_name, str) and params_name in copy_dict:
21+
copy_dict.pop(params_name)
22+
elif isinstance(params_name, list):
23+
for name in params_name:
24+
if name in copy_dict:
25+
copy_dict.pop(name)
26+
27+
return copy_dict
28+
29+
430
class ValidateUtil:
531
"""
632
校验工具类

dash-fastapi-frontend/utils/request.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
ServiceWarning,
1212
)
1313
from utils.cache_util import CacheManager
14+
from utils.common_util import FilterUtil
1415
from utils.log_util import logger
1516

1617

@@ -127,7 +128,18 @@ def api_request(
127128
if CacheManager.get('user_info')
128129
else None
129130
)
130-
request_params = ','.join([str(x) for x in data_list if x])
131+
request_params = ','.join(
132+
[
133+
str(
134+
FilterUtil.fliter_params(
135+
params_name=['password', 'old_password', 'new_password'],
136+
fliter_dict=x,
137+
)
138+
)
139+
for x in data_list
140+
if x
141+
]
142+
)
131143
log_message = LogMessage(
132144
request_user,
133145
remote_addr,

0 commit comments

Comments
 (0)