Что касается политики безопасности контента, как разрешить использование себя и статического URL, а также небезопасного JS? - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь настроить это в приложении ASP.NET MVC в web.config следующим образом:

<nwebsec>
  <httpHeaderSecurityModule xmlns="http://nwebsec.com/HttpHeaderSecurityModuleConfig.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="NWebsecConfig/HttpHeaderSecurityModuleConfig.xsd">
    <securityHttpHeaders>
       <content-Security-Policy-Report-Only enabled="true">
          <default-src self="true">
             <add source="https://static.mydomain.com" />
             <add source="unsafe-inline" />
             <add source="unsafe-eval" />
          </default-src>
       </content-Security-Policy-Report-Only>
    </securityHttpHeaders>  
</httpHeaderSecurityModule>
</nwebsec>

, что означает, что я получаю заголовок, который выглядит следующим образом:

default-src 'self' https://static.mydomain.com unsafe-inline unsafe-eval

но моя страница все еще не работает, потому что встроенные сценарии не разрешены. Я думаю, я хочу, чтобы мой заголовок выглядел так:

default-src 'self unsafe-inline unsafe-eval' https://static.ozcruising.com.au

Таким образом, мой вопрос заключается в том, как изменить конфигурацию NWebSec, чтобы разрешить использование встроенных сценариев на самой странице (того же источника), а также поддерживать обслуживание контента с https://static.mydomain.com?

1 Ответ

0 голосов
/ 08 ноября 2018

Unsafe-inline имеет значение только для script-src и style-src, а unsafe-eval имеет значение только для script-src. Таким образом, они не могут быть настроены на уровне default-src. Вы должны сделать это так:

<default-src self="true">
  <add source="https://static.mydomain.com" />
</default-src>
<script-src self="true" unsafeInline="true" unsafeEval="true">
  <add source="https://static.mydomain.com" />
</script-src>
<style-src self="true" unsafeInline="true">
  <add source="https://static.mydomain.com" />
</style-src>

Вы должны снова указать self и static.mydomain.com в script-src и style-src, так как более конкретный * -src удаляет все, что указано по умолчанию-src.

...