我正在开发一个nodejs电子应用程序,在我的index.html中,我有一个类似于以下内容的“ Content-Security-Policy”
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy"
content="
default-src 'self' https://*.mydomain.tld;
script-src 'self' https://*.mydomain.tld;
style-src 'self' https://*.mydomain.tld;
img-src 'self' https://*.mydomain.tld;
font-src 'self' https://*.mydomain.tld;
connect-src 'self' https://*.mydomain.tld;
media-src 'self' https://*.mydomain.tld;
object-src 'self' https://*.mydomain.tld;
child-src 'self' https://*.mydomain.tld;
frame-ancestors 'self' https://*.mydomain.tld;
frame-src 'self' https://*.mydomain.tld;
worker-src 'self' https://*.mydomain.tld;
form-action 'self' https://*.mydomain.tld;
block-all-mixed-content;
">
当我运行该应用程序时,它可以正常运行,所有资产都可以正常加载,但是在控制台中出现以下错误
通过元素传递的内容安全策略可能不会 包含frame-ancestors指令。 index.html:4
我一直在尝试消除该错误,并寻找可能导致该错误的原因,但找不到任何东西,对我来说似乎都是正确的,但我仍然收到该错误,我还认为该错误可能是由服务器@https://*.mydomain.tld,所以我尝试了
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy"
content="
default-src 'self';
script-src 'self';
style-src 'self';
img-src 'self';
font-src 'self';
connect-src 'self';
media-src 'self';
object-src 'self';
child-src 'self';
frame-ancestors 'self';
frame-src 'self';
worker-src 'self';
form-action 'self';
block-all-mixed-content;
">
造成完全相同的错误的原因是,我可以完全忽略该错误,因为该应用程序确实可以正常运行,并且该错误似乎未引起任何问题,但是,如果有人知道什么地方可能出了什么问题,我将不胜感激。< / p>
编辑:当我删除帧祖先时,标签看起来像这样
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Security-Policy"
content="
default-src 'self' https://*.mydomain.tld;
script-src 'self' https://*.mydomain.tld;
style-src 'self' https://*.mydomain.tld;
img-src 'self' https://*.mydomain.tld;
font-src 'self' https://*.mydomain.tld;
connect-src 'self' https://*.mydomain.tld;
media-src 'self' https://*.mydomain.tld;
object-src 'self' https://*.mydomain.tld;
child-src 'self' https://*.mydomain.tld;
frame-src 'self' https://*.mydomain.tld;
worker-src 'self' https://*.mydomain.tld;
form-action 'self' https://*.mydomain.tld;
block-all-mixed-content;
">
错误消失了,我不应该补充吗?
答案 0 :(得分:1)
因为meta元素不支持此指令。 看https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors。
仅在服务器的“响应”上。