我正在阅读有关能够上传和下载文件的网站的攻击。一些攻击是关于上传一个实际上是 html 文件的 jpg 文件,以及关于如果您希望用户被允许存储 html 并下载它们(或者可能在浏览器中查看它们而不使用另存为功能)的评论。
是否有某种类型的标志我可以用来说不执行?我希望用户查看其他人上传的图像或视频文件。如果我希望显示用户 html 但我不想强迫用户下载它们(内容处置附件)怎么办。
有没有办法我可以说嘿这里是一些用户数据。它可能是一个图像,所以我应该允许 img src 工作。它可能是一个 html,所以我希望用户看到它,但不允许它读/写 cookie/localstorage/调用 ajax 请求/等?
-edit- 想一想。我所有的用户数据都托管在其自己的静态文件无 cookie 子域中。这将摆脱我提到的许多问题,但还有什么需要处理的呢?此外,我相信我的 mime 响应完全取决于我的 Web 服务器的功能(nginx atm),这可以简单地查看文件扩展名。
-edit2- 我调整了我的 nginx 配置以添加application/unknown
Content-Type。它似乎正是我想要的。我看到一个建议对未知文件使用八位字节流,但这会导致浏览器(至少是 firefox)尝试下载它,即使它可以在浏览器中查看它的 jpg。