Я пытаюсь реализовать политику безопасности контента, чтобы включить выполнение встроенных обработчиков в chrome extension, используя sha-256
хэшей для каждого встроенного сценария события.Расширение Chrome CSP sha-256 hash для сценария встроенного события
Но я не могу получить эту работу: Я извлек все Внутристрочные и вычисленных хэшей, так что мой content_security_policy
теперь выглядит следующим образом:
"content_security_policy": "script-src 'self' 'unsafe-eval' 'sha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=' 'sha256-YNkUpNj1B2/FuE2RmwQf40OIO5rH69xQbG5AAxwshrA=' 'sha256-Pmun4RTarna683hWYftYdXPERPfEVV5fB+qvqh3xnmg=' ... ... 'sha256-RoSxVuvjYKDbU5f+aUEw02rEM9e2Lp9Hz/+rxbp6OMw='; object-src 'self'"
, например, для onclick="w2ui['grid'].click('1', event);"
я получаю sha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=
The docs state, что это поддерживаемый метод, но он по-прежнему бросает ошибки
Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval' 'sha256-Zy8+Ft7FDcIkrTYgl2BKmEW5XD97XustxKPceyLSioQ=' 'sha256-YNkUpNj1B2/FuE2RmwQf40OIO5rH69xQbG5AAxwshrA=' 'sha256-Pmun4RTarna683hWYftYdXPERPfEVV5fB+qvqh3xnmg=' ... ... Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.
Это известная ошибка, или я просто злоупотребляю концепцией?
Chrome обычно показывает требуемое значение sha256, но вы только что указали ... в своем сообщении об ошибке. Разве Chrome вычислил то же значение хэша, как и вы? –
no - chrome показывает буквально 'Либо ключевое слово 'unsafe-inline', либо hash ('sha256 -...'), либо nonce ('nonce -...') требуется для включения встроенного исполнения.' – grandrew