mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-10-19 04:36:30 +09:00
Allow scripts only from the asset directory, not the whole origin
Uploads are served from this origin too, so script-src 'self' would run one that a cache still holds under a script type from before the upload guard. Application pages now allow each importmap URL up to its asset directory (relative root and asset host included), the inline importmap by hash, and the service worker by worker-src.
This commit is contained in:
1 parent
2a449401ec
commit
2be2227f40
5 files changed
+101
-34
No files matched your search
@@ -29,7 +29,7 @@ class CachedResponsesTest < ActionDispatch::IntegrationTest
|
||||
test "a reused page carries the same enforcing policy, with no nonce" do
|
||||
get room_messages_url(@room)
|
||||
first = response.headers["Content-Security-Policy"]
|
||||
assert_match "script-src 'self' 'sha256-", first
|
||||
assert_match %r{script-src http://[^/ ]+/assets/ 'sha256-}, first
|
||||
assert_no_match "nonce-", first
|
||||
|
||||
MessagesController.any_instance.expects(:find_paged_messages).never
|
||||
|
||||
Reference in new issue
Block a user