我有一个纯文本页面,其中包含一些二进制数据(大多数数据是文本),如"\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
答案 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中覆盖文本/普通文件的内容类型嗅探。
您希望浏览器为文档中的不可打印字符显示什么?在将文档发送到浏览器之前,是否可以通过剥离服务器上的控制字符来获得所需的结果?