如何将 CSP 与 pdf.js 一起使用?我有工人的问题
how use CSP with pdf.js? I have a problem with worker
MVC c# 应用程序。
我正在使用 CSP,格式如下:
<meta http-equiv="Content-Security-Policy" content="
default-src 'self';
script-src 'self' https://mozilla.github.io/pdf.js/build/pdf.js https://mozilla.github.io/pdf.js/build/pdf.worker.js;
style-src 'self' https://meyerweb.com/eric/tools/css/reset/reset.css;
object-src 'self';
base-uri 'self';
connect-src 'self';
font-src 'self';
frame-src 'self';
img-src 'self';
manifest-src 'self';
media-src 'self';
worker-src blob:;"/>
在项目中,我对 base64 pdf 使用 pdf.js。我看到了我的文档,但没有看到 pdf.js 中的按钮栏。
我的浏览器控制台显示:
和我的 javascript 函数使用:
var DivContenedorPDF = document.createElement("div");
DivContenedorPDF.id = "pdf-viewer";
var pdfData = atob(b64);
var pdfjsLib = window['pdfjs-dist/build/pdf'];
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';....
我尝试添加 blob: 在 default-src 中,使用本地 pdf.js(这没有错误但不起作用)...
额外信息:
- api.js 是 pdf.js webpack 的一部分。
- 我的测试处于预生产阶段(在本地主机上,控制台抛出 0 个错误)。
- 我没有 CSS 用于 pdf.js 按钮栏。
提前致谢!
尝试将 blob: 添加到 script-src。
您的浏览器控制台显示 CSP:
default-src https: data: 'unsafe-inline' *.google.com
与您在 meta-tag 中显示的不同:
default-src 'self'; ...
看起来你确实在其他地方发布了 Content-Security-Policy,而不是你想象的(和编辑)。
worker-src blob: 在 meta-tag 中是 totally enough 以允许从 blob-URL.[=13= 创建工人]
@granty 给了我答案:控制台中的消息不是通用的。我不知道为什么,但我的 IIS 使用了另一个 CSP 配置。
我的代码可以删除响应 IIS 的 header 部分的配置。
MVC c# 应用程序。 我正在使用 CSP,格式如下:
<meta http-equiv="Content-Security-Policy" content="
default-src 'self';
script-src 'self' https://mozilla.github.io/pdf.js/build/pdf.js https://mozilla.github.io/pdf.js/build/pdf.worker.js;
style-src 'self' https://meyerweb.com/eric/tools/css/reset/reset.css;
object-src 'self';
base-uri 'self';
connect-src 'self';
font-src 'self';
frame-src 'self';
img-src 'self';
manifest-src 'self';
media-src 'self';
worker-src blob:;"/>
在项目中,我对 base64 pdf 使用 pdf.js。我看到了我的文档,但没有看到 pdf.js 中的按钮栏。
我的浏览器控制台显示:
和我的 javascript 函数使用:
var DivContenedorPDF = document.createElement("div");
DivContenedorPDF.id = "pdf-viewer";
var pdfData = atob(b64);
var pdfjsLib = window['pdfjs-dist/build/pdf'];
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';....
我尝试添加 blob: 在 default-src 中,使用本地 pdf.js(这没有错误但不起作用)...
额外信息:
- api.js 是 pdf.js webpack 的一部分。
- 我的测试处于预生产阶段(在本地主机上,控制台抛出 0 个错误)。
- 我没有 CSS 用于 pdf.js 按钮栏。
提前致谢!
尝试将 blob: 添加到 script-src。
您的浏览器控制台显示 CSP:
default-src https: data: 'unsafe-inline' *.google.com
与您在 meta-tag 中显示的不同:
default-src 'self'; ...
看起来你确实在其他地方发布了 Content-Security-Policy,而不是你想象的(和编辑)。
worker-src blob: 在 meta-tag 中是 totally enough 以允许从 blob-URL.[=13= 创建工人]
@granty 给了我答案:控制台中的消息不是通用的。我不知道为什么,但我的 IIS 使用了另一个 CSP 配置。 我的代码可以删除响应 IIS 的 header 部分的配置。