diff --git a/src/server/response.cpp b/src/server/response.cpp index db20a2fb4..6b4b9fcfc 100644 --- a/src/server/response.cpp +++ b/src/server/response.cpp @@ -412,6 +412,12 @@ ContentResponse::ContentResponse(const std::string& root, bool verbose, const st m_mimeType(mimetype) { add_header(MHD_HTTP_HEADER_CONTENT_TYPE, m_mimeType); + if ( !startsWith(m_mimeType, "application/pdf") ) { + add_header("Content-Security-Policy", + "default-src 'self' data: blob: about: chrome-extension: 'unsafe-inline' 'unsafe-eval'; " + "sandbox allow-scripts allow-same-origin allow-modals allow-popups allow-forms allow-downloads;"); + add_header("Referrer-Policy", "no-referrer"); + } } std::unique_ptr ContentResponse::build( diff --git a/static/viewer.html b/static/viewer.html index 506eb26bc..b9499fc54 100644 --- a/static/viewer.html +++ b/static/viewer.html @@ -2,6 +2,10 @@ + ZIM Viewer @@ -65,8 +69,7 @@