← 全部文章
PythonFlask安全

Flask 参数过滤防 SQL 注入

约 1 分钟SIKUAI

官网大致看了似乎没这方面顾虑,我这里获取还要传入其他脚本,以防万一写一下

from flask import Flask
from flask_cors import CORS
import re

app = Flask(__name__)
CORS(app, supports_credentials=True)

@app.route('/api/<name>')
def api(name):
    data = str(name)
    status = check_data(data)
    return status

def check_data(data):
  sql_injection_pattern = r'(.*)(|and|like|exec|insert|select|drop|grant|alter|delete|update|count|chr|mid|master|truncate|char|delclare|or|;)(.*)'
  if re.search(sql_injection_pattern, data, re.IGNORECASE):
    return (str("请输入规范的参数!"), 400)
  else:
    return (str("参数正常"), 200)

if __name__ == '__main__':
    app.run(debug=True, port=5000)