текущего проекта:ASP.NET MVC HTML5 Шаблонный - Content Security Policy убивает все внешние сценарии, даже «белый список» из них
- ASP.NET 4.5.2
- MVC 5
- HTML5 Шаблонный
- Google ReCaptcha (любой пакет NuGet, сделайте ваш выбор, я уже месили через три из них)
Так кажется, что ничего из outsi de site I am developing прекращается, холодно, по политике безопасности содержимого. Да, в нижней части этой формы должен быть Google ReCaptcha. Не видите? Да ... Это , несмотря на то, что такие вещи, как ajax.googleapis.com
, предположительно «белого», через FilterConfig.cs
.
Когда я иду на мой сайт и попытаться загрузить его, я получаю ошибку консоли:
Content Security Policy: The page's settings blocked the loading of a resource at https://www.google.com/recaptcha/api.js ("script-src http://http://www.taskgenerator.ca http://localhost:* http://ajax.googleapis.com http://ajax.aspnetcdn.com").
Когда я добавляю www.google.com
к CspScriptSrcAttribute()
внутри FilterConfig.cs
, я получаю следующее сообщение об ошибке:
Content Security Policy: The page's settings blocked the loading of a resource at https://www.gstatic.com/recaptcha/api2/r20160913151359/recaptcha__en.js ("script-src http://http://www.taskgenerator.ca http://localhost:* http://www.google.com http://ajax.googleapis.com http://ajax.aspnetcdn.com").
Когда я добавляю www.gstatic.com
я получаю следующее сообщение об ошибке:
Content Security Policy: The page's settings blocked the loading of a resource at https://www.google.com/recaptcha/api2/anchor?k=6LdHZB4TAAAAAMj_6F7h1ahYTNAjtHqRvWLj_FBx&co=aHR0cDovL3Rhc2tnZW5lcmF0b3IubG9jYWxob3N0Ojgw&hl=en&v=r20160913151359&size=normal&cb=lvhf93b5gk4z ("default-src 'none'").
, несмотря на то, что он уже включен в белый список www.google.com
, как указано выше.
Это происходит на всем пути вниз & # $!% (@ Кроличья дыра. Кажется, что нет конца. Все, что я хочу, это добавить глупое ReCaptcha на сайт - как сложно . это должно быть ??
Я будучи серьезно убежден беспричинно рвать шаблонный HTML5 от проекта и пойти его сырое/пользовательский/по умолчанию, только чтобы избежать этих трудноразрешимых шоу остановки критических ошибок
Пожалуйста, скажите мне:
- Как превратить ВЫКЛ CSP из котла HTML5, или
- Как исправить эту проблему для функции, которую должен уже включен в белый список (API Google).
HTML5 MVC Boilerplate pageprovides ZERO advice в этой связи.
EDIT:
Код в моем FilterConfig.cs
был первоначально как таковой:
filters.Add(
new CspScriptSrcAttribute() {
CustomSources = string.Join(
" ",
#if DEBUG
"localhost:*",
#endif
ContentDeliveryNetwork.Google.Domain,
ContentDeliveryNetwork.Microsoft.Domain
),
Self = true,
});
С константами (contentdeliverynetwork.cs
) как таковая:
public static class ContentDeliveryNetwork {
public static class Google {
public const string Domain = "ajax.googleapis.com";
public const string JQueryUrl = "//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js";
}
public static class MaxCdn {
public const string Domain = "maxcdn.bootstrapcdn.com";
public const string FontAwesomeUrl = "//maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css";
}
public static class Microsoft {
public const string Domain = "ajax.aspnetcdn.com";
public const string JQueryValidateUrl = "//ajax.aspnetcdn.com/ajax/jquery.validate/1.15.0/jquery.validate.min.js";
public const string JQueryValidateUnobtrusiveUrl = "//ajax.aspnetcdn.com/ajax/mvc/5.2.3/jquery.validate.unobtrusive.min.js";
public const string ModernizrUrl = "//ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js";
public const string BootstrapUrl = "//ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/bootstrap.min.js";
}
}
и даже модификации к следующему:
filters.Add(
new CspScriptSrcAttribute() {
CustomSources = string.Format("google.com www.gstatic.com www.google.com localhost:* ajax.googleapis.com ajax.aspnetcdn.com"),
Self = true,
});
не помогает.
... Bueller? ... Bueller? –