如何在Safari和Epiphany中允许内联javascript?
我有一个很大的项目,有很多onclick和内联脚本。但是现在使用epiphany浏览器或safari的人抱怨说所有的javascript都不能工作。我测试过这个,这是真的。有成千上万条这样的信息如何在Safari和Epiphany中允许内联javascript?,javascript,security,Javascript,Security,我有一个很大的项目,有很多onclick和内联脚本。但是现在使用epiphany浏览器或safari的人抱怨说所有的javascript都不能工作。我测试过这个,这是真的。有成千上万条这样的信息 Refused to execute a script because its hash, its nonce, or 'unsafe-inline' does not appear in the script-src directive of the Content Security Policy.
Refused to execute a script because its hash, its nonce, or 'unsafe-inline' does not appear in the script-src directive of the Content Security Policy.
在顿悟中。我尝试将CSP头设置为我在网上找到的所有内容,包括
$headerCSP = "Content-Security-Policy:".
"connect-src 'self';". // XMLHttpRequest (AJAX request), WebSocket or EventSource.
"default-src 'self';". // Default policy for loading html elements
"media-src 'self';". // vaid sources for media (audio and video html tags src)
"script-src 'self' 'unsafe-inline';".
"style-src 'self' 'unsafe-inline';";
header($headerCSP);
header("Content-Security-Policy: script-src 'self' 'unsafe-inline';");
header("X-WebKit-CSP: default-src 'self' 'unsafe-inline'");
header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';");
但是他们没有一个成功。消息将从开发人员控制台或b中消失。修复问题
创建nonce不是一个选项,因为我没有时间、精力和金钱来修复数千个电话。我做错了什么
我甚至尝试在html标题中设置CSP
<meta http-equiv="X-WebKit-CSP" content="script-src 'self' 'unsafe-inline';">
<meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline';">
但什么都不管用。还是一样的信息
我能做些什么
我理解允许内联代码的风险,但遗憾的是,这是无法避免的。该页面在Firefox、Chrome、IE的现代版本甚至Chrome中都能完美运行,我读到CSP通常非常严格。没有错误。这是我选择不支持的标题之一,因为文档不充分(这并不可怕,只是不够)。除此之外,以及我如何在自己的平台上实现它的复杂性,我不会设法成为第一个弄明白它的人,尽管我想祝你好运。