Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • C create-react-app
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,547
    • Issues 1,547
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 417
    • Merge requests 417
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Meta
  • create-react-app
  • Merge requests
  • !6541

Adds nonce to inline script using webpack's approach

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/researchgate/webpack-nonce into master Feb 28, 2019
  • Overview 4
  • Commits 1
  • Pipelines 0
  • Changes 1

Created by: Rendez

This is about Content Security Policy headers and the react-error-overlay inserted inline script.

When serving CSP headers with a 'nonce' source within the 'script-src' directive, any inline script in the DOM will effectively be blocked by the client, preventing the script execution. This stops the iframe from showing the actual overlay.

Several other libraries, some related to Webpack, have overcome this issue by setting the 'nonce' attribute before creating the script/style tag and inserting it into the DOM.

The solution I'm proposing here allows the user to either set __webpack_nonce__ in a Webpack entrypoint that imports react-error-overlay or, if the bundler used isn't Webpack, simply set window.__webpack_nonce__ inside the DOM manually in a dev environment where it will be picked up on runtime.

Relevant info: __webpack_nonce__ doesn't yet work with Webpack's DLL plugin.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/researchgate/webpack-nonce