防止从xml和其他文本文件执行代码

防止从xml和其他文本文件执行代码,xml,security,flask,xss,code-injection,Xml,Security,Flask,Xss,Code Injection,我正在Flask中编写一个网站,允许用户上传并查看文本文件(JSON和XML)。我用application/JSON的Content-type头发送JSON文件,用application/XML发送XML 从表单上传文件后,我使用。我使用file对象上的方法将文件保存到服务器。这些文件保存到我的服务器上的一个目录中。否则,我不处理文件;对于我的项目来说,xml标记保持完整是很重要的,因为稍后用户可能会选择解析文件 为了将文件返回给用户,我使用 我的问题是,此设计是否容易受到XSS或代码注入的攻击

我正在Flask中编写一个网站,允许用户上传并查看文本文件(JSON和XML)。我用
application/JSON
Content-type
头发送JSON文件,用
application/XML
发送XML

从表单上传文件后,我使用。我使用file对象上的方法将文件保存到服务器。这些文件保存到我的服务器上的一个目录中。否则,我不处理文件;对于我的项目来说,xml标记保持完整是很重要的,因为稍后用户可能会选择解析文件

为了将文件返回给用户,我使用


我的问题是,此设计是否容易受到XSS或代码注入的攻击?如果是,我如何防止此类攻击?

否,您的设计不易受到XSS攻击。在任何时候,您都不会使用任何用户提供的内容来生成自己的网页

内容以黑匣子的形式通过我们的网站;从浏览器到文件系统,然后返回可能选择再次下载内容的其他HTTP客户端

您完全控制的文件名,您从不读取文件的内容,您从不获取任何文件内容并将其放入生成的HTML内容中


可能存在的唯一问题是,有人上载的文件不是XML或JSON,而是一个利用下载程序解析文件时使用的任何漏洞的文件。但是,这不是XSS攻击。

人们如何处理下载的JSON和XML文件?用户可以查看它们或选择使用我的应用程序处理它们。通过“下载程序使用的任何东西,”你是指浏览器用来显示这些文件的东西吗?如果浏览器显示XML,但XML解析器中存在漏洞,则可以通过上载恶意XML文件加以利用,但这不是XSS,也不是您的服务的错。我明白了,这是有道理的。谢谢你的帮助!