diff --git a/backend/public/favicon.svg b/backend/public/favicon.svg index 6893eb1..524999c 100644 --- a/backend/public/favicon.svg +++ b/backend/public/favicon.svg @@ -1 +1,12 @@ - \ No newline at end of file + + + + + + + + + + + + diff --git a/backend/public/index.html b/backend/public/index.html index 0da2b0a..a429c62 100644 --- a/backend/public/index.html +++ b/backend/public/index.html @@ -4,12 +4,12 @@ - Radar Sargasses 971 + Radar Sargasses Caraïbes - - + +
diff --git a/backend/public/robots.txt b/backend/public/robots.txt new file mode 100644 index 0000000..a7ade6f --- /dev/null +++ b/backend/public/robots.txt @@ -0,0 +1,5 @@ +User-agent: * +Disallow: /api/ +Disallow: /bundles/ + +Allow: / diff --git a/backend/public/sw.js b/backend/public/sw.js index f9d002f..57081c1 100644 --- a/backend/public/sw.js +++ b/backend/public/sw.js @@ -25,7 +25,11 @@ self.addEventListener('push', (event) => { self.addEventListener('notificationclick', (event) => { event.notification.close(); - const targetUrl = event.notification.data?.url ?? '/'; + const rawUrl = event.notification.data?.url ?? '/'; + // N'autoriser que les URLs relatives ou du même domaine (protection open redirect) + const targetUrl = (rawUrl.startsWith('/') || rawUrl.startsWith(self.location.origin)) + ? rawUrl + : '/'; event.waitUntil( clients.matchAll({ type: 'window', includeUncontrolled: true }).then((windowClients) => { diff --git a/docs/screen.png b/docs/screen.png new file mode 100644 index 0000000..04a5017 Binary files /dev/null and b/docs/screen.png differ diff --git a/docs/screen2.png b/docs/screen2.png new file mode 100644 index 0000000..6bdbcc5 Binary files /dev/null and b/docs/screen2.png differ