From 485851d25de279a9d2711d3780443530e9851300 Mon Sep 17 00:00:00 2001 From: Carl Schwan Date: Fri, 24 Apr 2026 14:39:57 +0200 Subject: [PATCH] bookserver: Use qrc: as access control protocol --- src/bookserver.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/bookserver.cpp b/src/bookserver.cpp index 4167a16..2bc74cb 100644 --- a/src/bookserver.cpp +++ b/src/bookserver.cpp @@ -23,21 +23,23 @@ BookServer::BookServer() }); #if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0) - server.addAfterRequestHandler(&server, [](const QHttpServerRequest &, QHttpServerResponse &resp) { - auto headers = resp.headers(); - headers.append("Access-Control-Allow-Origin", "*"); - resp.setHeaders(headers); + server.addAfterRequestHandler(&server, [](const QHttpServerRequest &request, QHttpServerResponse &resp) { + if (request.value("Origin") == "qrc:") { + auto headers = resp.headers(); + headers.append("Access-Control-Allow-Origin", "qrc:"); + resp.setHeaders(headers); + } }); #else server.afterRequest([](QHttpServerResponse &&resp) { - resp.setHeader("Access-Control-Allow-Origin", "*"); + resp.setHeader("Access-Control-Allow-Origin", "qrc:"); return std::move(resp); }); #endif #if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0) auto tcpserver = std::make_unique(); - if (!tcpserver->listen(QHostAddress::Any, 45961) || !server.bind(tcpserver.get())) { + if (!tcpserver->listen(QHostAddress::LocalHost, 45961) || !server.bind(tcpserver.get())) { qWarning() << "Server failed to listen on a port."; return; } @@ -45,7 +47,7 @@ BookServer::BookServer() auto s = tcpserver.release(); Q_UNUSED(s); #else - const auto port = server.listen(QHostAddress::Any, 45961); + const auto port = server.listen(QHostAddress::LocalHost, 45961); if (!port) { qWarning() << "Server failed to listen on a port."; return; -- GitLab