В целях повышения безопасности я добавил этот заголовок ответа в промежуточном программном обеспечении. content-security-policy: default-src 'self'
.
И в частичном представлении бритвы у меня есть элемент SELECT с onchange="this.form.submit()
<div class="dropdown-item text-dark">
<form id="selectLanguage" method="post" class="form-horizontal" role="form"
asp-controller="Home"
asp-action="PersistLanguage"
asp-route-returnUrl="@returnUrl">
<select name="culture" onchange="this.form.submit()"
asp-for="@requestCulture.RequestCulture.UICulture.Name" asp-items="cultureItems">
</select>
</form>
</div>
Следовательно, браузер сообщает следующее:
Отказ от выполнения встроенного обработчика событий, поскольку он нарушает следующую директиву политики безопасности содержимого: "default-sr c 'self' data:" , Для включения встроенного выполнения требуется ключевое слово unsafe-inline, ha sh ('sha256 -...') или nonce ('nonce -...'). Также обратите внимание, что «script-sr c» не был задан явно, поэтому «default-sr c» используется в качестве запасного варианта.
(Неизвестно) ListPicker._handleMouseUp
Ослабление политики разрешает ее, но делать это не рекомендуется: script-src 'self' 'unsafe-inline'
.
Какой правильный путь связать события, такие как onchange, в частичных видах бритвы, не нарушая ограничение встроенного сценария CSP?