Firefox下载text / plain而不是显示它

时间:2014-02-12 09:17:38

标签: php http firefox browser

我有一个纯文本页面,其中包含一些二进制数据(大多数数据是文本),如"\003"等。我将Content-Type标题设置为text / plain并设置X-Content-Type-Options到nosniff。这会阻止Google Chrome和Internet Explorer下载该页面,而是显示该页面。但是Firefox由于某种原因决定需要下载该页面。

header("content-type: text/plain; charset=UTF-8");
header("X-Content-Type-Options: nosniff");
header("Content-Disposition: inline");

必须添加什么标头才能阻止Firefox下载页面而不是显示它?

编辑:

我尝试过Content-Disposition:inline

示例:http://nnmm.nl/?5eT0D

2 个答案:

答案 0 :(得分:3)

我通过设置以下标题来修复它:

header("content-type: text/plain; charset=UTF-8; imeanit=yes");
header("X-Content-Type-Options: nosniff");

答案 1 :(得分:0)

您可以发布更完整的测试用例吗?我无法在Firefox 29中使用带有相同两个标题的示例PHP文件和输出中包含的“\ 003”重现此问题。

更新:Firefox不支持X-Content-Type-Options,尽管bug 471020中存在长期请求,并且去年开始了一些工作。据我所知,在修复bug之前,没有办法在Firefox中覆盖文本/普通文件的内容类型嗅探。

您希望浏览器为文档中的不可打印字符显示什么?在将文档发送到浏览器之前,是否可以通过剥离服务器上的控制字符来获得所需的结果?