【发布时间】:2017-08-31 06:14:13
【问题描述】:
我正在尝试显示我通过 GET 请求获得的 base64 pdf,但由于以下原因它在 Chrome 中被阻止,或者至少我认为它因此被阻止,因为我在控制台说明以下内容:
Unrecognized Content-Security-Policy directive 'reflected-xss'.
当我检查我的日志时,我发现 pdf 以 base64 格式正确格式化,因为解密它会生成 PDF,但 Chrome 只是不想打开它
在响应标头中,我确实看到了以下内容:
Content-Security-Policy:reflected-xss block
Content-Type:application/pdf
但是,我对此不太熟悉,所以知道我如何去做这件事吗?或者谁能至少告诉我为什么会这样?
我确实注意到,当我尝试另一个 pdf 时,它可以工作,但是可以工作的那个的响应标头有 Connection:keep-alive?
【问题讨论】:
-
至于该错误消息的上下文,请参阅stackoverflow.com/questions/42107485/… 和bugs.chromium.org/p/chromium/issues/detail?id=657737 的答案。 'reflected-xss' CSP 指令出现在 W3C 内容安全策略规范的一些早期草案中,并且对它的支持曾在 Chrome 中的某个时间点实现,但随后被删除。至于要做什么,如果您不控制使用该 Content-Security-Policy 发送 PDF 的服务器,那么您无能为力
-
“解码”,而不是“解密”。 Base64 不是加密。
-
工作 pdf 的响应头和这个(除了连接:keep-alive)是否相同?
-
问题找到了,我创建的header发送pdf到前端的方式不正确。
标签: google-chrome pdf get xss windows-server-2008