fix(csp): Conditionally sets UPGRADE_INSECURE_REQUESTS based on the PROJECT_URL scheme.

This commit is contained in:
killianlarcher
2026-02-16 13:18:58 +01:00
parent 85f4cda752
commit b77f79f42d
3 changed files with 5 additions and 23 deletions
+1 -3
View File
@@ -2,9 +2,7 @@ title = "Custom gitleaks config"
[allowlist] [allowlist]
# Global allowlist patterns (wont be flagged) # Global allowlist patterns (wont be flagged)
regexes = [ regexes = []
"s3SecretAccessKey: env.S3_SECRET_KEY ?? null",
]
paths = [ paths = [
"src/utils/init.ts" "src/utils/init.ts"
] ]
+1 -3
View File
@@ -1,5 +1,3 @@
export interface AuthProviderConfig { export interface AuthProviderConfig {
id: "google" | "github" | "credential"; id: "google" | "github" | "credential";
isActive: boolean; isActive: boolean;
@@ -64,7 +62,7 @@ export const PORTABASE_DEFAULT_SETTINGS = {
FORM_ACTION: ["'self'"], FORM_ACTION: ["'self'"],
FRAME_ANCESTORS: ["'none'"], FRAME_ANCESTORS: ["'none'"],
BLOCK_ALL_MIXED_CONTENT: false, BLOCK_ALL_MIXED_CONTENT: false,
UPGRADE_INSECURE_REQUESTS: true, UPGRADE_INSECURE_REQUESTS: process.env.PROJECT_URL?.startsWith("https://") || false,
}, },
PERMISSIONS_POLICY: { PERMISSIONS_POLICY: {
CAMERA: ["()"], CAMERA: ["()"],
+3 -17
View File
@@ -15,8 +15,8 @@ export const env = createEnv({
PROJECT_NAME: z.string().optional(), PROJECT_NAME: z.string().optional(),
PROJECT_DESCRIPTION: z.string().optional(), PROJECT_DESCRIPTION: z.string().optional(),
PROJECT_URL: z.string().optional(), PROJECT_URL: z.string().regex(/^https?:\/\//, "URL must start with http:// or https://"),
PROJECT_SECRET: z.string().optional(), PROJECT_SECRET: z.string(),
SMTP_PASSWORD: z.string().optional(), SMTP_PASSWORD: z.string().optional(),
SMTP_FROM: z.string().optional(), SMTP_FROM: z.string().optional(),
@@ -29,20 +29,13 @@ export const env = createEnv({
AUTH_GOOGLE_SECRET: z.string().optional(), AUTH_GOOGLE_SECRET: z.string().optional(),
AUTH_GOOGLE_METHOD: z.boolean().default(false), AUTH_GOOGLE_METHOD: z.boolean().default(false),
S3_ENDPOINT: z.string().optional(),
S3_ACCESS_KEY: z.string().optional(),
S3_SECRET_KEY: z.string().optional(),
S3_BUCKET_NAME: z.string().optional(),
S3_PORT: z.string().optional(),
S3_USE_SSL: z.string().optional(),
STORAGE_TYPE: z.enum(["local", "s3"]).optional(), STORAGE_TYPE: z.enum(["local", "s3"]).optional(),
RETENTION_CRON: z RETENTION_CRON: z
.string() .string()
.default(process.env.NODE_ENV === "production" ? "0 7 * * *" : "* * * * *"), .default(process.env.NODE_ENV === "production" ? "0 7 * * *" : "* * * * *"),
PRIVATE_PATH: z.string(), PRIVATE_PATH: z.string().optional(),
}, },
client: { client: {
@@ -69,13 +62,6 @@ export const env = createEnv({
AUTH_GOOGLE_SECRET: process.env.AUTH_GOOGLE_SECRET, AUTH_GOOGLE_SECRET: process.env.AUTH_GOOGLE_SECRET,
AUTH_GOOGLE_METHOD: process.env.AUTH_GOOGLE_METHOD === "true", AUTH_GOOGLE_METHOD: process.env.AUTH_GOOGLE_METHOD === "true",
S3_ENDPOINT: process.env.S3_ENDPOINT,
S3_ACCESS_KEY: process.env.S3_ACCESS_KEY,
S3_SECRET_KEY: process.env.S3_SECRET_KEY,
S3_BUCKET_NAME: process.env.S3_BUCKET_NAME,
S3_PORT: process.env.S3_PORT,
S3_USE_SSL: process.env.S3_USE_SSL,
STORAGE_TYPE: process.env.STORAGE_TYPE, STORAGE_TYPE: process.env.STORAGE_TYPE,
RETENTION_CRON: process.env.RETENTION_CRON, RETENTION_CRON: process.env.RETENTION_CRON,