15 lines
419 B
Python
15 lines
419 B
Python
from apps.bi.models import Dataset, Report
|
|
from apps.utils.decorators import auto_log
|
|
from rest_framework.exceptions import ParseError
|
|
|
|
forbidden_keywords = ["UPDATE", "DELETE", "DROP", "TRUNCATE"]
|
|
|
|
|
|
def check_sql_safe(sql: str):
|
|
"""检查sql安全性
|
|
"""
|
|
sql_upper = sql.upper()
|
|
for kw in forbidden_keywords:
|
|
if kw in sql_upper:
|
|
raise ParseError('sql查询有风险')
|
|
return sql |