diff --git a/src/main/java/org/qortal/api/HTMLParser.java b/src/main/java/org/qortal/api/HTMLParser.java index 9bac7d52..474b6417 100644 --- a/src/main/java/org/qortal/api/HTMLParser.java +++ b/src/main/java/org/qortal/api/HTMLParser.java @@ -28,10 +28,6 @@ public class HTMLParser { // Add base href tag String baseElement = String.format("", baseUrl); head.get(0).prepend(baseElement); - - // Add security policy tag - String securityPolicy = String.format(""); - head.get(0).prepend(securityPolicy); } String html = document.html(); this.data = html.getBytes(); diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java index e37c1e8f..93d11fbb 100644 --- a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java +++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java @@ -119,6 +119,7 @@ public class ArbitraryDataRenderer { byte[] data = Files.readAllBytes(Paths.get(filePath)); // TODO: limit file size that can be read into memory HTMLParser htmlParser = new HTMLParser(resourceId, inPath, prefix, usePrefix, data); htmlParser.addAdditionalHeaderTags(); + response.addHeader("Content-Security-Policy", "default-src 'self'"); response.setContentType(context.getMimeType(filename)); response.setContentLength(htmlParser.getData().length); response.getOutputStream().write(htmlParser.getData()); @@ -127,6 +128,7 @@ public class ArbitraryDataRenderer { // Regular file - can be streamed directly File file = new File(filePath); FileInputStream inputStream = new FileInputStream(file); + response.addHeader("Content-Security-Policy", "default-src 'self'"); response.setContentType(context.getMimeType(filename)); int bytesRead, length = 0; byte[] buffer = new byte[10240];