From 6b169dc540b5bf31e0fef4a127efb5c9c63a3d3b Mon Sep 17 00:00:00 2001 From: none Date: Wed, 3 May 2023 09:56:10 +0200 Subject: [PATCH] add hsts --- package-lock.json | 20 ++++++++++++++++++++ package.json | 1 + server.js | 7 +++++++ 3 files changed, 28 insertions(+) diff --git a/package-lock.json b/package-lock.json index 6ff4807..20b022c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "express-fileupload": "^1.3.1", "express-useragent": "^1.0.15", "hcaptcha": "^0.1.1", + "hsts": "^2.2.0", "html-minifier-terser": "^7.1.0", "lru-cache": "^7.18.3", "mysql2": "^3.2.0", @@ -1168,6 +1169,17 @@ "wbuf": "^1.1.0" } }, + "node_modules/hsts": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.2.0.tgz", + "integrity": "sha512-ToaTnQ2TbJkochoVcdXYm4HOCliNozlviNsg+X2XQLQvZNI/kCHR9rZxVYpJB3UPcHz80PgxRyWQ7PdU1r+VBQ==", + "dependencies": { + "depd": "2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/html-minifier-terser": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.1.0.tgz", @@ -3498,6 +3510,14 @@ "wbuf": "^1.1.0" } }, + "hsts": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.2.0.tgz", + "integrity": "sha512-ToaTnQ2TbJkochoVcdXYm4HOCliNozlviNsg+X2XQLQvZNI/kCHR9rZxVYpJB3UPcHz80PgxRyWQ7PdU1r+VBQ==", + "requires": { + "depd": "2.0.0" + } + }, "html-minifier-terser": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.1.0.tgz", diff --git a/package.json b/package.json index 877258d..3b167f8 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "express-fileupload": "^1.3.1", "express-useragent": "^1.0.15", "hcaptcha": "^0.1.1", + "hsts": "^2.2.0", "html-minifier-terser": "^7.1.0", "lru-cache": "^7.18.3", "mysql2": "^3.2.0", diff --git a/server.js b/server.js index 31c1df2..dd0231a 100644 --- a/server.js +++ b/server.js @@ -14,6 +14,7 @@ import { readFileSync, appendFile } from "fs"; import { format } from "util"; import { setup as SETUP_ROUTES} from "./routes/setup_all_routes.js" import { verify as verifyHCaptcha_int } from "hcaptcha" +import hsts from "hsts" import { ensureExists } from "./extra_modules/ensureExists.js" @@ -262,6 +263,12 @@ app.use(fileUpload({ } })); +app.use(hsts({ + maxAge: 31536000, + includeSubDomains: true, + preload: true +})); + app.use(bodyParser.default.json({ limit: "100mb" })); app.use(bodyParser.default.urlencoded({ limit: "100mb", extended: true })); app.use(cookieParser(cookiesecret));