APIDoc с NodeJS: EvalError при обслуживании страницы документации

Я использую APIDoc для создания документации API моего приложения NodeJS. Я столкнулся с проблемой при обслуживании сгенерированной страницы index.html: Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'self'". Скриншот сообщения о проблеме здесь Как решить эту ошибку?

Я пробовал отключить защиту и отправить script-src 'self'в <meta>этой html-страницы. Все, что мне нужно, это рабочая форма этой страницы.

1 ответ

Скорее всего, у вас есть три варианта:

  1. Добавьте 'unsafe-eval' в script-src, что заставит его работать, но вы не получите максимально строгого CSP (но это намного лучше, чем вообще не иметь CSP).
  2. Если это ваш код, включающий eval, setInterval, setTimeout или новую функцию, попробуйте переписать, как предлагается здесь: https://developers.google.com/web/fundamentals/security/csp#eval_too .
  3. Если проблемы появляются в стороннем коде, посмотрите, можно ли его как-то заменить.

Добавление другого CSP в метатег не поможет. Все политики должны пройти, и вы можете сделать это только более строгим, добавив еще одну политику.

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