内容安全策略不适用于外部脚本文件

时间:2017-08-22 15:58:11

标签: c# asp.net-mvc security content-security-policy mixed-content

由于混合内容,Chrome正在屏蔽HTTP文件。我已将Content-Security-Policy添加到标题中,但仍无效。

这是我在C#中构建的:

过滤器:

public class ContentSecurityPolicyFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var response = filterContext.HttpContext.Response;          
        response.AddHeader("Content-Security-Policy", "default-src *; style-src * 'unsafe-inline';  script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;");
        base.OnActionExecuting(filterContext);
    }
}

控制器:

public class MyController
{
    [ContentSecurityPolicyFilter]
    public ActionResult MyAction(int? id)
    {
        // code...
        return View("Preview", model);
    }
}

然后控制台说:

混合内容:' https://local.dev/MyController/MyAction'是通过HTTPS加载的,但请求了一个不安全的脚本' http://www.clientUrl.com/wp-content/themes/market/js/custom.js'。此请求已被阻止;内容必须通过HTTPS提供。

有什么想法吗?基本上,我想允许iframe呈现HTTP网站。我期待在控制台中看到警告而不是错误。

0 个答案:

没有答案