Skip to content
This repository was archived by the owner on Apr 5, 2024. It is now read-only.

Commit 3d1959c

Browse files
committed
fix: csp config
1 parent 4a8a518 commit 3d1959c

11 files changed

+58
-24
lines changed

csp.config.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const ContentSecurityPolicy = `
2+
default-src 'self' *.fabrique.social.gouv.fr;
3+
img-src 'self' data: *.fabrique.social.gouv.fr https://dummyimage.com/;
4+
script-src 'self' *.fabrique.social.gouv.fr ${
5+
process.env.NODE_ENV !== "production" && "'unsafe-eval'"
6+
};
7+
frame-src 'self' *.fabrique.social.gouv.fr;
8+
style-src 'self' 'unsafe-inline';
9+
font-src 'self' data: blob:;
10+
prefetch-src 'self' *.fabrique.social.gouv.fr;
11+
`;
12+
13+
module.exports = ContentSecurityPolicy;

next-seo.config.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import ContentSecurityPolicy from "./csp.config";
2+
3+
export default {
4+
additionalLinkTags: [
5+
{
6+
rel: "icon",
7+
href: "/favicon.ico",
8+
},
9+
],
10+
additionalMetaTags: [
11+
{
12+
httpEquiv: "Content-Security-Policy",
13+
content: ContentSecurityPolicy.replace(/\n/g, " ").trim(),
14+
},
15+
],
16+
};

next.config.js

+1-11
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,7 @@ const { withSentryConfig } = require("@sentry/nextjs");
22

33
const { version } = require("./package.json");
44

5-
const ContentSecurityPolicy = `
6-
default-src 'self' *.fabrique.social.gouv.fr;
7-
img-src 'self' data: *.fabrique.social.gouv.fr https://dummyimage.com/;
8-
script-src 'self' *.fabrique.social.gouv.fr ${
9-
process.env.NODE_ENV !== "production" && "'unsafe-eval'"
10-
};
11-
frame-src 'self' *.fabrique.social.gouv.fr;
12-
style-src 'self' 'unsafe-inline';
13-
font-src 'self' data: blob:;
14-
prefetch-src 'self' *.fabrique.social.gouv.fr;
15-
`;
5+
const ContentSecurityPolicy = require("./csp.config");
166

177
/** @type {import('next').NextConfig} */
188
const moduleExports = {

src/pages/_app.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import "@gouvfr/dsfr/dist/dsfr/dsfr.min.css";
2+
import "../../next-seo.config";
23
import type { AppProps } from "next/app";
34
import { Layout } from "@components";
45
import {

src/pages/cgu.tsx

+16-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { MentionPart } from "@components";
22
import type { NextPage } from "next";
3-
import { NextSeo } from "next-seo";
3+
import { DefaultSeo } from "next-seo";
44
import React from "react";
55

66
const Cgu: NextPage = () => {
77
return (
88
<>
9-
<NextSeo
9+
<DefaultSeo
1010
title="Template | Conditions générales d'utilisation"
1111
description="Conditions générales d'utilisation de l'application template."
1212
additionalLinkTags={[
@@ -15,6 +15,20 @@ const Cgu: NextPage = () => {
1515
href: "/favicon.ico",
1616
},
1717
]}
18+
additionalMetaTags={[
19+
{
20+
property: "dc:creator",
21+
content: "Jane Doe",
22+
},
23+
{
24+
name: "application-name",
25+
content: "DefaultSeo",
26+
},
27+
{
28+
httpEquiv: "x-ua-compatible",
29+
content: "IE=edge; chrome=1",
30+
},
31+
]}
1832
/>
1933
<div className="fr-container fr-my-6w">
2034
<h1>Conditions générales d&apos;utilisation</h1>

src/pages/healthz.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import type { NextPage } from "next";
2-
import { NextSeo } from "next-seo";
2+
import { DefaultSeo } from "next-seo";
33
import React from "react";
44

55
const HealthZ: NextPage = () => {
66
return (
77
<>
8-
<NextSeo
8+
<DefaultSeo
99
title="Template | HealthZ"
1010
description="Page healthZ de l'application Template."
1111
additionalLinkTags={[

src/pages/index.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { Head, Testimonial, Tile } from "@components";
22
import { Row } from "@dataesr/react-dsfr";
33
import type { NextPage } from "next";
4-
import { NextSeo } from "next-seo";
4+
import { DefaultSeo } from "next-seo";
55

66
const Index: NextPage = () => {
77
return (
88
<>
9-
<NextSeo
9+
<DefaultSeo
1010
title="Template"
1111
description="Template de la fabrique des ministères sociaux."
1212
additionalLinkTags={[

src/pages/mention-legales.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { MentionPart } from "@components";
22
import { Title } from "@dataesr/react-dsfr";
33
import type { NextPage } from "next";
4-
import { NextSeo } from "next-seo";
4+
import { DefaultSeo } from "next-seo";
55
import React from "react";
66

77
const LegalMention: NextPage = () => {
88
return (
99
<>
10-
<NextSeo
10+
<DefaultSeo
1111
title="Template | Mention légales"
1212
description="Mentions légales de l'application template."
1313
additionalLinkTags={[

src/pages/politique-confidentialite.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Table } from "@dataesr/react-dsfr";
22
import type { NextPage } from "next";
3-
import { NextSeo } from "next-seo";
3+
import { DefaultSeo } from "next-seo";
44
import React from "react";
55

66
const URL = [
@@ -13,7 +13,7 @@ const URL = [
1313
const Confidentiality: NextPage = () => {
1414
return (
1515
<>
16-
<NextSeo
16+
<DefaultSeo
1717
title="Template | Politique de confidentialité"
1818
description="Politique de confidentialité de l'application template."
1919
additionalLinkTags={[

src/pages/stats.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { StatsTile } from "@components";
22
import { fetchMatomoData, MatomoResult } from "@lib";
33
import type { NextPage } from "next";
4-
import { NextSeo } from "next-seo";
4+
import { DefaultSeo } from "next-seo";
55
import React, { useEffect } from "react";
66

77
const Stats: NextPage = () => {
@@ -19,7 +19,7 @@ const Stats: NextPage = () => {
1919
}, []);
2020
return (
2121
<>
22-
<NextSeo
22+
<DefaultSeo
2323
title="Template | Statistiques d'utilisation"
2424
description="Statistiques d'utilisation de l'application template."
2525
additionalLinkTags={[

tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"@lib": ["./src/lib"]
2525
}
2626
},
27-
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "jest-setup.ts"],
27+
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
2828
"exclude": [
2929
"node_modules",
3030
"next-sitemap.js",

0 commit comments

Comments
 (0)