我需要放宽Chrome中的CSP(内容安全策略)以启用带有一些get参数的重定向到Azure登录页面。在处理此类重定向时,Chrome会应用与表单提交相关的政策限制。在这种情况下,默认策略为
<meta http-equiv="Content-Security-Policy" content="form-action 'self' javascript:"/>
在这种情况下,重定向到https://login.microsoftonline.com/...
不会工作。 MDN表示您可以展开允许的目的地列表,我尝试这样做:
<meta http-equiv="Content-Security-Policy" content="form-action 'self' https://*.microsoftonline.com javascript:"/>
它似乎完全无效,因为在控制台上仍然会出现相同的错误:
Refused to send form data to 'https://login.microsoftonline.com' because it violates the following Content Security Policy directive: "form-action 'self' javascript:"
还请注意,按属性顺序播放或删除javascript:
部分确实有帮助。但是,Chrome显然已删除了self
部分,因为在这种情况下,我无法将数据发送回原点。就像他们让您收紧政策但不放松政策一样。
任何帮助将不胜感激。
答案 0 :(得分:1)
我认为是由于form-action
(根据documentation)引起的:
HTTP
Content-Security-Policy
(CSP) form-action 指令限制了URL,这些URL可以用作给定上下文中表单提交的目标。
也许您可以尝试使用default-src
指令:
HTTP
Content-Security-Policy
(CSP) default-src 指令用作其他CSP提取指令的后备。
希望有帮助!
答案 1 :(得分:0)
请勿包含协议(https),我认为它会起作用