Flask/uWSGI 的哪一部分正在创建 /tmp/#<int>

问题描述

我有一个简单的 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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...