Python 内容处置安全
下面是设置: 我有一个简单的烧瓶应用程序与烧瓶WTF 用户提交带有一个文本字段的表单-Python 内容处置安全,python,security,flask,Python,Security,Flask,下面是设置: 我有一个简单的烧瓶应用程序与烧瓶WTF 用户提交带有一个文本字段的表单-filename 表单有一个CSRF令牌(来自Flask WTF。) 如果用户提交表单并进行验证,则浏览器将下载一个自动生成的文件(即不是服务器文件系统中的文件),并提交文件名 重要的代码是: response.headers['Content-Disposition'] = 'attachment; filename={0}.lsc'.format(filename) 那有多安全 换句话说,如果恶意用户可以
filename
表单有一个CSRF令牌(来自Flask WTF。)
如果用户提交表单并进行验证,则浏览器将下载一个自动生成的文件(即不是服务器文件系统中的文件),并提交文件名
重要的代码是:
response.headers['Content-Disposition'] = 'attachment; filename={0}.lsc'.format(filename)
那有多安全
换句话说,如果恶意用户可以在
内容处置
标题中插入任意文本,恶意用户可能会做什么?他们将无法对服务器执行任何操作,如果他们正确执行以下操作,客户端应该是安全的:
接收用户代理不应遵守任何目录路径
filename parm参数中存在的信息,这是唯一的
参数被认为此时应用于HTTP实现。这个
文件名应仅作为终端组件处理
但是,有关此问题的全面考虑,请参见安全考虑部分。(RFC 2183适用于邮件消息,但同样适用于HTTP用户代理。)自动生成的文件是什么意思?文件来自哪里?它是根据请求生成的。也就是说,它获取一个模板,从会话中插入数据,然后将其作为下载文件进行流式处理。请注意,模板中不使用filename变量。事实上,它只在提供的代码行中使用。我会检查服务器端语言是否容易受到标题插入的攻击(例如,如果
filename
包含新行字符)。谢谢。这正是我需要的。