0

我有一个简单的 Flask 应用程序,它允许用户向管理人员提交一些信息。应用程序通过 uWSGI 和 Apache2 代理运行。

问题是,该应用程序在过去 24 小时内定期在 /tmp 中创建临时文件,这些文件是随机编号的:

/tmp/#833
/tmp/#161
/tmp/#91

这会触发 AppArmor,因为 uwsgi 不允许(在我的配置文件下)写入/tmp(但它现在处于抱怨模式,所以它正在工作。此外,这似乎不是一个好习惯,因为这些名称是可以猜测的并且可能用于某种符号链接竞争攻击。

我如何找到 Flask 的哪个部分正在创建此类文件?以及如何配置 Flask 以使用其分配的临时目录而不是全局目录?

通过代码库和谷歌搜索根本没有用。

导入列表,因为一些 Flask 扩展/库可能是肇事者:

import os
import time
import datetime
from operator import attrgetter
from pprint import pprint
import hashlib
from flask import Flask, render_template, redirect, url_for, flash, request, send_file, abort
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_bootstrap import Bootstrap
from flask_basicauth import BasicAuth
from flask_login import LoginManager, UserMixin, login_required, login_user
from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileRequired, FileAllowed
from werkzeug.utils import secure_filename
from wtforms import SubmitField, BooleanField, SelectField
from wtforms.fields.html5 import DateField
from wtforms.validators import DataRequired
4

0 回答 0