微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

赛普拉斯和Axe似乎忽略了内容安全政策

如何解决赛普拉斯和Axe似乎忽略了内容安全政策

我正在使用Cypress和Ax来测试我的网站的可访问性,但它似乎忽略了我使用Meta标记设置的内容安全政策(CSP)。

运行测试时,我在cy.checkA11y()上得到以下信息:

EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self' 'unsafe-inline'"

但是目标网页(andrewhick.com)的源代码包含以下内容

<Meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; ">

我尝试搜索错误,但找不到其他人遇到类似问题。

我还考虑了问题是否在缓存中,但是重新打开赛普拉斯(我认为应该清除缓存)并没有帮助,此外,Cypress clears the cache automatically

这可能是因为CSP是在元标记中定义的,而不是在服务器上定义的,但是我不相信我的托管公司允许访问服务器。

The failing test is stored here

该问题是断断续续的,并且套件确实可以工作一次,这也无济于事。我尝试添加删除和重新添加“不安全评估”,但是测试结果与CSP是否已更新不符。而且,尽管我对Javascript不确定,但该测试似乎没有任何明显的语法错误。有人可以帮忙吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。