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