Mar*_*ial 5 google-chrome content-security-policy
登录表单被 CSP 阻止,我不明白为什么
Chrome 版本 94.0.4606.61
错误信息 :
拒绝将表单数据发送到“https://subdomain.mydomain.com/login/local”,因为它违反了以下内容安全策略指令:“form-action 'self' https: *.mydomain.com”。
火狐浏览器没问题
gra*_*nty 10
这是因为在登录期间,您通过指令中不允许的主机源执行重定向form-action(端口、方案、域/子域名不匹配)。重定向时,CSP 检查整个源链,但浏览器的for 重定向
行为有所不同:form-action
Chrome/Safari认为提交表单时的重定向具有潜在危险,因为敏感的用户数据可能会被重定向到攻击者的域。因此,如果主机源(域)不允许参与form-actions重定向链,它们会阻止重定向。
Firefox认为服务器重定向受 CSP 保护的页面所有者的控制。因此,在重定向期间,它允许您在重定向期间甚至向第三方域发送表单。
注 1.'self'表示scheme://domain:port与地址栏中的 Url 完全相同。因此,CSP:
form-action 'self' https: *.mydomain.com
Run Code Online (Sandbox Code Playgroud)
如果 Url 是HTTPS://subdomain.mydomain.com上述 CSP,则它form-action HTTPS://subdomain.mydomain.com https: HTTPS://*.mydomain.com等于form-action https:- 它允许除http:-Urls 之外的任何内容。
如果 Url 为HTTP://subdomain.mydomain.com,则上述 CSP 变为form-action HTTP://subdomain.mydomain.com https: HTTP://*.mydomain.com并且不允许主域mydomain.com。
https://subdomain.mydomain.com/login/local注2.消息中的Url :
拒绝将表单数据发送到“https://subdomain.mydomain.com/login/local”,因为它违反了...`
是不是URL真的被Chrome屏蔽了。这只是重定向链中的第一个 URL。
注3:如果CSP毕竟阻止了允许的域,那么很可能是NoScript/uBlock/AdBlock/PrivacyBadger等浏览器扩展的干扰。
| 归档时间: |
|
| 查看次数: |
4613 次 |
| 最近记录: |