Настройте CSP в приложении Ember CLI, которое использует http-mock

Я использую http-макет с Ember CLI, как предложено на http://www.ember-cli.com/. Я понимаю основную концепцию CSP, но не понимаю ее конфигурации в приложении Ember CLI.

Как настроить приложение на прием запросов localhost:4200/api/ чтобы избежать этого во время разработки:

Content Security Policy violation: {
    "csp-report": {
        "document-uri":"http://localhost:4200/products",
        "referrer":"",
        "violated-directive":"style-src 'self'",
        "effective-directive":"style-src",
        "original-policy":"default-src 'none'; script-src 'self' 'unsafe-eval' localhost:35729 0.0.0.0:35729; font-src 'self'; connect-src 'self' ws://localhost:35729 ws://0.0.0.0:35729 http://0.0.0.0:4200/csp-report; img-src 'self'; style-src 'self'; media-src 'self'; report-uri http://0.0.0.0:4200/csp-report;",
        "blocked-uri":"",
        "source-file":"chrome-extension://alelhddbbhepgpmgidjdcjakblofbmce",
        "line-number":1,"column-number":20481,"status-code":200
    }
}

1 ответ

Решение

Вы можете изменить свою политику безопасности контента, отредактировав config/environment.js, Я верю в ваше дело, connect-src относится к выдаваемой ошибке (правка: выглядит как style-src нарушается, возможно скриншот Chrome Extension Awesome). Добавление * позволит подключиться к чему угодно.

var ENV = {

  ...

  contentSecurityPolicy: {
    'default-src': "'none'",
    'script-src': "'self'",
    'font-src': "'self'",
    'connect-src': "'self' *",
    'img-src': "'self'",
    'style-src': "'self' *",
    'media-src': "'self'"
  }
}

Или, более конкретно, вы можете добавить:

...
'connect-src': "'self' 'localhost:4200'",
...

Кроме того, если вы только хотите добавить это в свою среду разработки, поместите его в:

if (environment === 'development') {
  ENV.contentSecurityPolicy = {
    ...(policies)...
  }
}

Более подробная информация о CSP в ember-cli: https://www.npmjs.com/package/ember-cli-content-security-policy.

Больше информации о CSP в целом: http://content-security-policy.com/

Другие вопросы по тегам