对于一个私人项目,我想从我的主页加载一些外部图像,脚本和样式,但它不工作。哪里出错了?
Nginx Config-文件
location / {
index index.php index.html index.htm;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
server_tokens off;
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src *; script-src *; object-src *; style-src *; img-src *; media-src *; frame-src *; font-src *; connect-src *";
add_header X-Content-Security-Policy "default-src *; script-src *; object-src *; style-src *; img-src *; media-src *; frame-src *; font-src *; connect-src *";
add_header X-WebKit-CSP "default-src *; script-src *; object-src *; style-src *; img-src *; media-src *; frame-src *; font-src *; connect-src *";
}HTML元标签:
<meta http-equiv="Content-Security-Policy" content="default-src *; script-src *; style-src *; img-src *; font-src *; connect-src *; media-src *; object-src *; prefetch-src *; child-src *; frame-src *; worker-src *; frame-ancestors *; form-action *; sandbox allow-forms allow-same-origin allow-scripts allow-top-navigation allow-popups allow-pointer-lock; reflected-xss allow; base-uri *; manifest-src *;" />
<meta http-equiv="X-Content-Security-Policy" content="default-src *; script-src *; object-src *; style-src *; img-src *; media-src *; frame-src *; font-src *; connect-src *">
<meta http-equiv="X-WebKit-CSP" content= "default-src *; script-src *; object-src *; style-src *; img-src *; media-src *; frame-src *; font-src *; connect-src *">发布于 2019-12-23 11:27:58
问题在于*只与网络方案URL (http/https/ftp等)匹配。所以你可以
将网络方案URL添加到策略(如myserver.com)
cdvfile:到策略中)
我会用你的主页网址制作一个default-src,并删除所有其他来源。如果只允许从同一来源加载内容,则应将CSP源设置为'self' (万一您的项目托管在主服务器上)。
配置中的大多数CSP指令都是多余的,例如:如果希望允许任何URI作为站点的基URI,则应该删除base-uri。我建议审查每一个指令,以获得必要的结果。CSP有一份很好的备忘录:https://content-security-policy.com/
https://stackoverflow.com/questions/59452164
复制相似问题