Inline scripts generated as a result of appDir
preventing use of strict CSPΒ #43743
Description
Verify canary release
- I verified that the issue exists in the latest Next.js canary release
Provide environment information
Operating System:
Platform: darwin
Arch: arm64
Version: Darwin Kernel Version 21.6.0: Wed Aug 10 14:28:23 PDT 2022; root:xnu-8020.141.5~2/RELEASE_ARM64_T6000
Binaries:
Node: 16.16.0
npm: 8.11.0
Yarn: N/A
pnpm: N/A
Relevant packages:
next: 13.0.3
eslint-config-next: 13.0.6
react: 18.2.0
react-dom: 18.2.0
Which area(s) of Next.js are affected? (leave empty if unsure)
App directory (appDir: true)
Link to reproduction - Issues with a link to complete (but minimal) reproduction code will be addressed faster
To Reproduce
Just setup a basic "Hello world" app using the appDir
feature, with: npx create-next-app@latest --experimental-app
.
Describe the Bug
I posted a Help
discussion about this yesterday (#43710) but it was suggested that I create an issue
for it.
I've noticed a number of inline scripts being injected into the page, all beginning self.__next_f
... They seem to contain parts of random stringified components / webpack chunks. They're only generated when using the appDir
. Obviously this isn't ideal from a CSP standpoint, as they're just generic inline scripts (so no src
to whitelist, unlike the usual /_next/static/
scripts).
Is there a plan for these scripts to be removed in future versions, or is there a recommended way of maintaining a strict CSP (i.e. without using unsafe-inline
)? Perhaps using nonces
, hashes
or similar?
Thanks
Expected Behavior
No inline scripts generated as a result of using the appDir
feature.
Which browser are you using? (if relevant)
No response
How are you deploying your application? (if relevant)
next start