2014-02-12 145 views
0

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

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

必须添加什么头阻止下载一个页面,而不是显示它的Firefox?

编辑:

我试过内容处置:内联

一个例子:http://nnmm.nl/?5eT0D

回答

3

我固定它通过设置以下标题:

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

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

更新:Firefox不支持X-Content-Type-Options,尽管bug 471020有一个长期的请求,并且去年开始了一些工作。据我所知,除非修正了这个bug,否则无法覆盖Firefox中的文本/纯文件的Content-Type嗅探。

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

+0

http://nnmm.nl/?5eT0D是一个很好的例子。只要看看响应头文件以及firefox试图用它们做什么。 – Mechazawa

+0

所以你想显示这些文件? –

+0

一个选项可能是通过PHP回显整个内容 –

相关问题