From 635aa02164f65d92ae1513510d503a7327909268 Mon Sep 17 00:00:00 2001 From: badbl0cks <4161747+badbl0cks@users.noreply.github.com> Date: Fri, 10 Jul 2026 00:21:45 -0700 Subject: [PATCH] dev work --- Dockerfile | 6 +- astro.config.mjs | 19 ++----- bun.lockb | Bin 254191 -> 204313 bytes db/config.ts | 20 ------- deploy/docker-compose.yml | 51 ----------------- docker-compose.yml | 36 +++++++++--- package.json | 34 +++++------- public/.well-known/mta-sts.txt | 6 ++ public/crt.svg | 6 ++ public/goat.js | 8 +-- public/hi-res.svg | 10 ++++ src/actions/contact.ts | 98 +++++++++++++++++++++++++-------- src/lib/CapAdapter.ts | 2 +- src/lib/HttpFetchClient.ts | 26 ++------- src/lib/Otp.ts | 56 +++++++++++++++---- src/middleware.ts | 54 ++++++++++++++---- src/pages/ai.astro | 8 +++ src/pages/cap/redeem.ts | 17 +++++- src/pages/contact.astro | 29 +++++----- src/pages/index.astro | 2 +- 20 files changed, 284 insertions(+), 204 deletions(-) delete mode 100644 db/config.ts delete mode 100644 deploy/docker-compose.yml create mode 100644 public/.well-known/mta-sts.txt create mode 100644 public/crt.svg create mode 100644 public/hi-res.svg create mode 100644 src/pages/ai.astro diff --git a/Dockerfile b/Dockerfile index c3a7015..d50b2d7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM oven/bun:1 AS base +FROM oven/bun:1@sha256:50317d83cd5a5ae1d8b35b3379c69f57ce1a0dbf4def91f0965653d767851834 AS base WORKDIR /usr/src/app # install dependencies into temp directory @@ -24,10 +24,10 @@ ENV NODE_ENV=production #RUN bun test RUN bun run build-remote -# copy production dependencies and source code into final image +# copy production dependencies and source code into final image # and run with node to avoid some random issues with bun # (e.g. bun's fetch doesn't support dispatchers) -FROM node:20-slim AS release +FROM node:24-slim@sha256:44a253901c13323953b4a0e1df5afe08bf8ac4ac086edd500422b54cb6e6eeb0 AS release WORKDIR /usr/src/app COPY --from=install /temp/prod/node_modules node_modules COPY --from=prerelease /usr/src/app/dist ./dist diff --git a/astro.config.mjs b/astro.config.mjs index 427afd4..b651297 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,11 +1,9 @@ -import htmx from "astro-htmx"; // @ts-check -import { defineConfig, envField } from "astro/config"; +import { defineConfig, sessionDrivers, envField } from "astro/config"; import alpinejs from "@astrojs/alpinejs"; import sitemap from "@astrojs/sitemap"; -import bun from "@nurodev/astro-bun"; +//import bun from "@nurodev/astro-bun"; //disable for now import node from "@astrojs/node"; -import db from "@astrojs/db"; // https://astro.build/config export default defineConfig({ @@ -23,13 +21,10 @@ export default defineConfig({ prefetch: { prefetchAll: true, }, - security: { - checkOrigin: false, - }, session: { - driver: "lru-cache", - ttl: 3600, - maxEntries: 1000, + driver: sessionDrivers.lruCache({ + ttl: 3600, + }), }, server: { host: true, @@ -59,10 +54,8 @@ export default defineConfig({ }), }, }, - integrations: [alpinejs(), sitemap(), htmx(), db()], + integrations: [alpinejs(), sitemap()], experimental: { - preserveScriptOrder: true, chromeDevtoolsWorkspace: true, - failOnPrerenderConflict: true, }, }); diff --git a/bun.lockb b/bun.lockb index e82ed005fead897f91ac5a1c750ab6705549925d..af1195045f73b90ca39305865e59ba30e7ebbd0c 100755 GIT binary patch delta 70178 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 literal 254191 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 z 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 F{~xnVzNG*F diff --git a/db/config.ts b/db/config.ts deleted file mode 100644 index dc78187..0000000 --- a/db/config.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { defineDb, defineTable, column } from "astro:db"; - -const Cap_Challenges = defineTable({ - columns: { - token: column.text({ primaryKey: true }), - data: column.json(), - expires: column.number(), - }, -}); - -const Cap_Tokens = defineTable({ - columns: { - key: column.text({ primaryKey: true }), - expires: column.number(), - }, -}); - -export default defineDb({ - tables: { Cap_Challenges, Cap_Tokens }, -}); diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml deleted file mode 100644 index a4cbf23..0000000 --- a/deploy/docker-compose.yml +++ /dev/null @@ -1,51 +0,0 @@ -services: - badblocks-personal-site: - image: ${IMAGE_NAME}:latest - restart: always - container_name: badblocks-personal-site - volumes: - - ./db:/db - env_file: - - .env - # healthcheck: - # test: - # [ - # "CMD", - # "curl", - # "-f", - # "-s", - # "--max-time", - # "5", - # "http://localhost:4321/health", - # ] - # interval: 30s - # timeout: 15s - # retries: 3 - # start_period: 120s - wireguard: - image: qmcgaw/gluetun - cap_add: - - NET_ADMIN - container_name: wireguard - hostname: wireguard - environment: - - VPN_SERVICE_PROVIDER=custom - - VPN_TYPE=wireguard - - HTTPPROXY=on - expose: - - "8888" - env_file: - - .env - devices: - - /dev/net/tun:/dev/net/tun - restart: unless-stopped - # healthcheck: - # test: ["CMD", "ping", "-c", "1", "-W", "3", "$$ANDROID_SMS_GATEWAY_IP"] - # interval: 30s - # timeout: 15s - # retries: 3 - # start_period: 60s -networks: - default: - name: proxynet - external: true diff --git a/docker-compose.yml b/docker-compose.yml index cffe336..4cd4b6e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,29 @@ services: - personal-site: - build: . - ports: - - 4321:4321 - restart: no - logging: - options: - max-size: 1g + badblocks-personal-site: + image: badblocks-personal-site:latest + restart: always + container_name: badblocks-personal-site + volumes: + - ./db:/db + env_file: + - .env + healthcheck: + test: + [ + "CMD", + "node", + "-e", + "fetch('http://localhost:4321/health').then(r=>process.exit(r.ok?0:1))", + ] + interval: 30s + timeout: 15s + retries: 3 + start_period: 120s + cap_drop: [ALL] + security_opt: [no-new-privileges:true] + read_only: true + tmpfs: [/tmp] +networks: + default: + name: proxynet + external: true diff --git a/package.json b/package.json index 89a5b01..90d1cb3 100644 --- a/package.json +++ b/package.json @@ -14,34 +14,28 @@ "astro": "astro" }, "dependencies": { - "@astrojs/alpinejs": "^0.4.9", - "@astrojs/check": "^0.9.6", - "@astrojs/db": "^0.18.3", - "@astrojs/node": "^9.5.4", - "@astrojs/partytown": "^2.1.4", - "@astrojs/sitemap": "^3.7.0", - "@astrojs/ts-plugin": "^1.10.6", + "@astrojs/alpinejs": "^1.0.0", + "@astrojs/check": "^0.9.9", + "@astrojs/db": "^0.21.3", + "@astrojs/node": "^11.0.2", + "@astrojs/sitemap": "^3.7.3", + "@astrojs/ts-plugin": "^1.10.10", "@cap.js/server": "^4.0.5", - "@cap.js/widget": "^0.1.35", - "@nurodev/astro-bun": "^2.1.2", + "@cap.js/widget": "^0.1.56", "@types/alpinejs": "^3.13.11", - "alpinejs": "^3.15.8", + "alpinejs": "^3.15.12", "android-sms-gateway": "^3.0.0", - "astro": "^5.18.0", - "astro-htmx": "^1.0.6", - "htmx.org": "^2.0.8", + "astro": "^7.0.7", "iconify-icon": "^3.0.2", - "ofetch": "^1.5.1", - "otplib": "^12.0.1", - "typescript": "^5.9.3", - "undici": "^7.22.0", - "validator": "^13.15.26" + "otplib": "12.0.1", + "typescript": "^6.0.3", + "validator": "^13.15.35" }, "devDependencies": { - "@types/bun": "^1.3.9", + "@types/bun": "^1.3.14", "@types/validator": "^13.15.10", "doiuse": "^6.0.6", - "prettier": "^3.8.1", + "prettier": "^3.9.5", "prettier-plugin-astro": "^0.14.1" } } diff --git a/public/.well-known/mta-sts.txt b/public/.well-known/mta-sts.txt new file mode 100644 index 0000000..bcf6c8e --- /dev/null +++ b/public/.well-known/mta-sts.txt @@ -0,0 +1,6 @@ +version: STSv1 +mode: enforce +mx: mx.zoho.com +mx: mx2.zoho.com +mx: mx3.zoho.com +max_age: 604800 diff --git a/public/crt.svg b/public/crt.svg new file mode 100644 index 0000000..40b88e8 --- /dev/null +++ b/public/crt.svg @@ -0,0 +1,6 @@ + + CRT Icon + An icon of a CRT monitor, representing retro technology. + + + diff --git a/public/goat.js b/public/goat.js index 8e06d8a..f35d27e 100644 --- a/public/goat.js +++ b/public/goat.js @@ -164,7 +164,7 @@ if (data.p === null) // null from user callback. return; - data.rnd = Math.random().toString(36).substr(2, 5); // Browsers don't always listen to Cache-Control. + data.rnd = Math.random().toString(36).slice(2, 5); // Browsers don't always listen to Cache-Control. var endpoint = get_endpoint(); if (!endpoint) return warn("no endpoint found"); @@ -202,10 +202,10 @@ // Get a query parameter. window.goatcounter.get_query = function (name) { - var s = location.search.substr(1).split("&"); + var s = location.search.slice(1).split("&"); for (var i = 0; i < s.length; i++) if (s[i].toLowerCase().indexOf(name.toLowerCase() + "=") === 0) - return s[i].substr(name.length + 1); + return s[i].slice(name.length + 1); }; // Track click events. @@ -308,7 +308,7 @@ ) goatcounter.count(); else { - var f = function (e) { + var f = function () { if (document.visibilityState !== "visible") return; document.removeEventListener("visibilitychange", f); goatcounter.count(); diff --git a/public/hi-res.svg b/public/hi-res.svg new file mode 100644 index 0000000..32862e0 --- /dev/null +++ b/public/hi-res.svg @@ -0,0 +1,10 @@ + + Hi-Res Icon + An icon of a modern monitor, indicating high resolution. + + + + + + + diff --git a/src/actions/contact.ts b/src/actions/contact.ts index 6822f4b..5e43f1a 100644 --- a/src/actions/contact.ts +++ b/src/actions/contact.ts @@ -3,13 +3,15 @@ import { z } from "astro/zod"; import type { ActionAPIContext } from "astro:actions"; import validator from "validator"; import SmsClient from "@lib/SmsGatewayClient.ts"; -import Otp, { verifyOtp } from "@lib/Otp.ts"; +import Otp, { verifyOtp, normalizePhone } from "@lib/Otp.ts"; import { createCap } from "@lib/CapAdapter"; import { OTP_SUPER_SECRET_SALT, ANDROID_SMS_GATEWAY_RECIPIENT_PHONE, } from "astro:env/server"; +const MAX_OTP_VERIFY_ATTEMPTS = 5; + const isValidMobilePhone: [(data: string) => any, { message: string }] = [ (value: string) => validator.isMobilePhone(value, ["en-US", "en-CA"]) && @@ -39,7 +41,11 @@ const captcha_input = z.string().trim().nonempty(); const sendOtpAction = z.object({ action: z.literal("send_otp"), - name: z.string().trim().min(5).max(32).transform(stripDisallowedCharacters), + name: z + .string() + .trim() + .transform(stripDisallowedCharacters) + .pipe(z.string().min(5).max(32)), phone: z .string() .trim() @@ -47,11 +53,16 @@ const sendOtpAction = z.object({ msg: z .string() .trim() - .min(25) - .max(512) .transform(stripDisallowedCharacters) - .refine(...noYelling) - .refine(...noExcessiveRepetitions), + .pipe( + z + .string() + .min(25) + .max(512) + + .refine(...noYelling) + .refine(...noExcessiveRepetitions), + ), captcha: captcha_input, }); @@ -63,6 +74,7 @@ const sendMsgAction = z.object({ const resetAction = z.object({ action: z.literal("reset"), + captcha: captcha_input, }); const formAction = z.discriminatedUnion("action", [ @@ -73,7 +85,10 @@ const formAction = z.discriminatedUnion("action", [ const submitActionDefinition = { input: formAction, - handler: async (input: any, context: ActionAPIContext) => { + handler: async ( + input: z.infer, + context: ActionAPIContext, + ) => { if (!OTP_SUPER_SECRET_SALT || !ANDROID_SMS_GATEWAY_RECIPIENT_PHONE) { throw new ActionError({ code: "INTERNAL_SERVER_ERROR", @@ -83,12 +98,10 @@ const submitActionDefinition = { const cap = createCap(context.session ?? null); - if ( - !( - /^[a-fA-F0-9]{16}:[a-fA-F0-9]{30}$/.test(input.captcha) && - (await cap.validateToken(input.captcha)) - ) - ) { + if (!( + /^[a-fA-F0-9]{16}:[a-fA-F0-9]{30}$/.test(input.captcha) && + (await cap.validateToken(input.captcha)) + )) { throw new ActionError({ code: "BAD_REQUEST", message: "Invalid Captcha Token.", @@ -96,7 +109,19 @@ const submitActionDefinition = { } if (input.action === "send_otp") { - const { name, phone, msg } = input; + const { name, msg } = input; + const phone = normalizePhone(input.phone); + + if ( + Otp.isRateLimitedGlobally() || + Otp.isRateLimitedForOtp(phone) || + Otp.isRateLimitedForMsgs(phone) + ) { + throw new ActionError({ + code: "TOO_MANY_REQUESTS", + message: "Too many requests. Try again later.", + }); + } const otp = Otp.generateOtp(phone, OTP_SUPER_SECRET_SALT); const stepSeconds = Otp.getOtpStep(); @@ -107,6 +132,9 @@ const submitActionDefinition = { remainingSeconds != 0 ? " " + remainingSeconds + " seconds." : "." }`; + Otp.recordOtpRequest(phone); + Otp.recordGlobalOtpSend(); + const result = await new SmsClient().sendSMS(phone, message); if (result.success) { @@ -118,38 +146,59 @@ const submitActionDefinition = { nextAction: "send_msg", }; } else { + console.error("OTP SMS send failed:", result.message); throw new ActionError({ code: "SERVICE_UNAVAILABLE", - message: "Verification code failed to send: " + result.message, + message: "Verification code failed to send. Try again later.", }); } } else if (input.action === "send_msg") { const { otp } = input; const name = await context.session?.get("name"); - const phone = await context.session?.get("phone"); + const raw_phone = await context.session?.get("phone"); const msg = await context.session?.get("msg"); - if (!name || !otp || !msg || !phone) { + if (!name || !otp || !msg || !raw_phone) { throw new ActionError({ code: "BAD_REQUEST", message: "Missing required fields.", }); } + const phone = normalizePhone(raw_phone); + + if (Otp.isRateLimitedForOtp(phone) || Otp.isRateLimitedForMsgs(phone)) { + throw new ActionError({ + code: "TOO_MANY_REQUESTS", + message: "Too many requests. Try again later.", + }); + } + const isVerified = verifyOtp(phone, OTP_SUPER_SECRET_SALT, otp); if (!isVerified) { + const attempts = ((await context.session?.get("otpAttempts")) ?? 0) + 1; + if (attempts >= MAX_OTP_VERIFY_ATTEMPTS) { + context.session?.delete("phone"); + context.session?.delete("name"); + context.session?.delete("msg"); + context.session?.delete("otpAttempts"); + return { + nextAction: "send_otp", + error: "Too many incorrect codes. Please start over.", + field: "otp", + }; + } + context.session?.set("otpAttempts", attempts); return { nextAction: "send_msg", error: "Invalid or expired verification code.", field: "otp", }; - // throw new ActionError({ - // code: "BAD_REQUEST", - // message: "Invalid or expired verification code.", - // }); } - const message = `Web message from ${name} ( ${phone} ):\n\n${msg}`; + const message = `Web message from ${name} (${phone}):\n\n${msg}`; + + Otp.recordMsgSubmission(phone); const smsClient = new SmsClient(); const result = await smsClient.sendSMS( @@ -158,17 +207,17 @@ const submitActionDefinition = { ); if (result.success) { - Otp.recordMsgSubmission(phone); - context.session?.delete("phone"); context.session?.delete("name"); context.session?.delete("msg"); + context.session?.delete("otpAttempts"); return { nextAction: "complete", }; } + console.error("Contact SMS send failed:", result.message); throw new ActionError({ code: "SERVICE_UNAVAILABLE", message: "Message failed to send.", @@ -177,6 +226,7 @@ const submitActionDefinition = { context.session?.delete("phone"); context.session?.delete("name"); context.session?.delete("msg"); + context.session?.delete("otpAttempts"); return { nextAction: "send_otp", diff --git a/src/lib/CapAdapter.ts b/src/lib/CapAdapter.ts index fa8a582..07959af 100644 --- a/src/lib/CapAdapter.ts +++ b/src/lib/CapAdapter.ts @@ -1,7 +1,7 @@ import Cap, { type ChallengeData } from "@cap.js/server"; import type { AstroSession } from "astro"; -export function createCap(session: AstroSession | null) { +export function createCap(session: AstroSession | null) { if (!session) { throw new Error("Session context is required"); } diff --git a/src/lib/HttpFetchClient.ts b/src/lib/HttpFetchClient.ts index 4319c5e..9e17a2e 100644 --- a/src/lib/HttpFetchClient.ts +++ b/src/lib/HttpFetchClient.ts @@ -1,59 +1,43 @@ -import { ofetch } from "ofetch"; -import { ProxyAgent } from "undici"; - -const wireguardDispatcher = new ProxyAgent("http://wireguard:8888"); -const TIMEOUT = 5000; - const httpFetchClient = { get: async (url: string, headers: Record) => { - const response = await ofetch(url, { + const response = await fetch(url, { method: "GET", headers, - dispatcher: wireguardDispatcher, - timeout: TIMEOUT, }); return response; }, post: async (url: string, body: JSON, headers: Record) => { - const response = await ofetch(url, { + const response = await fetch(url, { method: "POST", headers, body: JSON.stringify(body), - dispatcher: wireguardDispatcher, - timeout: TIMEOUT, }); return response; }, put: async (url: string, body: JSON, headers: Record) => { - const response = await ofetch(url, { + const response = await fetch(url, { method: "PUT", headers, body: JSON.stringify(body), - dispatcher: wireguardDispatcher, - timeout: TIMEOUT, }); return response; }, patch: async (url: string, body: JSON, headers: Record) => { - const response = await ofetch(url, { + const response = await fetch(url, { method: "PATCH", headers, body: JSON.stringify(body), - dispatcher: wireguardDispatcher, - timeout: TIMEOUT, }); return response; }, delete: async (url: string, headers: Record) => { - const response = await ofetch(url, { + const response = await fetch(url, { method: "DELETE", headers, - dispatcher: wireguardDispatcher, - timeout: TIMEOUT, }); return response; diff --git a/src/lib/Otp.ts b/src/lib/Otp.ts index 347a02d..ce7d5b4 100644 --- a/src/lib/Otp.ts +++ b/src/lib/Otp.ts @@ -1,16 +1,44 @@ import { authenticator } from "otplib"; import { createHash } from "crypto"; -const submissionTimestamps = new Map(); -const otpRequestTimestamps = new Map(); +const submissionTimestamps = new Map(); +const otpRequestTimestamps = new Map(); const ONE_WEEK_IN_MS: number = 7 * 24 * 60 * 60 * 1000; const ONE_HOUR_IN_MS: number = 60 * 60 * 1000; const MAX_OTP_REQUESTS_PER_HOUR: number = 3; const MAX_MESSAGES_PER_WEEK: number = 3; const OTP_STEP_IN_SEC: number = 300; const VALID_PAST_OTP_STEPS: number = 1; -const VALID_FUTURE_OTP_STEPS: number = 1; +const VALID_FUTURE_OTP_STEPS: number = 0; const OTP_NUM_DIGITS: number = 6; +const MAX_GLOBAL_OTP_SENDS_PER_HOUR: number = 10; +let globalOtpSendTimestamps: number[] = []; + +export function isRateLimitedGlobally(): boolean { + const now = Date.now(); + globalOtpSendTimestamps = globalOtpSendTimestamps.filter( + (t) => now - t < ONE_HOUR_IN_MS, + ); + return globalOtpSendTimestamps.length >= MAX_GLOBAL_OTP_SENDS_PER_HOUR; +} + +export function recordGlobalOtpSend() { + globalOtpSendTimestamps.push(Date.now()); +} + +function cleanupStaleEntries(map: Map, windowMs: number) { + const now = Date.now(); + for (const [key, timestamps] of map) { + const recent = timestamps.filter((t) => now - t < windowMs); + if (recent.length === 0) map.delete(key); + else if (recent.length !== timestamps.length) map.set(key, recent); + } +} + +setInterval(() => { + cleanupStaleEntries(submissionTimestamps, ONE_WEEK_IN_MS); + cleanupStaleEntries(otpRequestTimestamps, ONE_HOUR_IN_MS); +}, ONE_HOUR_IN_MS).unref?.(); authenticator.options = { step: OTP_STEP_IN_SEC, @@ -30,15 +58,14 @@ function getUserSecret(phoneNumber: string, salt: string): string { } export function normalizePhone(phone: string) { - const result = phone.replace(/[^\d]/g, "").trim().startsWith("1") - ? phone.substring(1) - : phone; - - if (result.length !== 10) { + let digits = phone.replace(/\D/g, ""); + if (digits.length === 11 && digits.startsWith("1")) { + digits = digits.slice(1); + } + if (digits.length !== 10) { throw new Error("Invalid phone number."); } - - return result; + return digits; } export function isValidPhone(phone: string): boolean { @@ -46,9 +73,13 @@ export function isValidPhone(phone: string): boolean { const match = phone.match(/(\d{3})(\d{3})(\d{4})/); const [, prefix, exchange, station] = match ?? []; const isValidNANPFormat = - /^[2-7][0-8][0-9]$/.test(prefix) && /^[2-9][0-9]{2}$/.test(exchange); + /^[2-9][0-9]{2}$/.test(prefix) && /^[2-9][0-9]{2}$/.test(exchange); const isNotAllSameDigit = !/^(.)\1{6}$/.test(exchange + station); const isNot911Number = prefix !== "911" && exchange !== "911"; + const isNotTollFreeNumber = !( + /^[8-9][0-9]{2}$/.test(prefix) && + /^(99|88|77|66|55|44|33|22|11|00)$/.test(prefix.slice(1, 3)) + ); const isNot555Number = prefix !== "555" && exchange !== "555"; const isNotPopSongNumber = exchange !== "867" && station !== "5309"; @@ -57,6 +88,7 @@ export function isValidPhone(phone: string): boolean { isNotAllSameDigit && isNot911Number && isNot555Number && + isNotTollFreeNumber && isNotPopSongNumber ); } @@ -153,4 +185,6 @@ export default { recordMsgSubmission, isRateLimitedForOtp, isRateLimitedForMsgs, + isRateLimitedGlobally, + recordGlobalOtpSend, }; diff --git a/src/middleware.ts b/src/middleware.ts index a97291a..0621cf3 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -1,7 +1,29 @@ import { defineMiddleware } from "astro:middleware"; import { getActionContext } from "astro:actions"; +import type { APIContext, MiddlewareNext } from "astro"; -export const onRequest = defineMiddleware(async (context, next) => { +// htmz -> frame-ancestors 'self' & X-Frame-Options SAMEORIGIN +// astro -> 'unsafe-inline' +const SECURITY_HEADERS: Record = { + "Content-Security-Policy": [ + "default-src 'self'", + "script-src 'self' 'unsafe-inline'", + "style-src 'self' 'unsafe-inline'", + "img-src 'self' data: https://badblocks.goatcounter.com", + "font-src 'self'", + "connect-src 'self' https://badblocks.goatcounter.com https://api.iconify.design", + "object-src 'none'", + "frame-ancestors 'self'", + "base-uri 'self'", + "form-action 'self'", + ].join("; "), + "X-Content-Type-Options": "nosniff", + "X-Frame-Options": "SAMEORIGIN", + "Referrer-Policy": "strict-origin-when-cross-origin", + "Permissions-Policy": "camera=(), microphone=(), geolocation=()", +}; + +async function handle(context: APIContext, next: MiddlewareNext) { if (context.isPrerendered) return next(); const { action, setActionResult, serializeActionResult } = @@ -10,10 +32,11 @@ export const onRequest = defineMiddleware(async (context, next) => { const currentAction = await context.session?.get("currentAction"); if (currentAction) { - const { actionName, actionResult } = JSON.parse(currentAction); - setActionResult(actionName, actionResult); - context.session?.delete("currentAction"); + try { + const { actionName, actionResult } = JSON.parse(currentAction); + setActionResult(actionName, actionResult); + } catch {} return next(); } @@ -39,13 +62,14 @@ export const onRequest = defineMiddleware(async (context, next) => { context.session?.set("contactFormDraft", draft); - const referer = context.request.headers.get("Referer"); - if (!referer) { - throw new Error( - "Internal: Referer unexpectedly missing from Action POST request.", - ); - } - return context.redirect(referer); + let redirectPath = context.originPathname; + try { + const referer = new URL(context.request.headers.get("Referer") ?? ""); + if (referer.origin === context.url.origin) { + redirectPath = referer.pathname; + } + } catch {} + return context.redirect(redirectPath); } context.session?.delete("contactFormDraft"); @@ -53,4 +77,12 @@ export const onRequest = defineMiddleware(async (context, next) => { } return next(); +} + +export const onRequest = defineMiddleware(async (context, next) => { + const response = await handle(context, next); + for (const [header, value] of Object.entries(SECURITY_HEADERS)) { + response.headers.set(header, value); + } + return response; }); diff --git a/src/pages/ai.astro b/src/pages/ai.astro new file mode 100644 index 0000000..4122804 --- /dev/null +++ b/src/pages/ai.astro @@ -0,0 +1,8 @@ +--- +import Layout from "@layouts/BaseLayout.astro"; +--- + + + AI Policy + + diff --git a/src/pages/cap/redeem.ts b/src/pages/cap/redeem.ts index ed93e1c..e07e650 100644 --- a/src/pages/cap/redeem.ts +++ b/src/pages/cap/redeem.ts @@ -10,8 +10,21 @@ export const POST: APIRoute = async (context) => { ); } - const { token, solutions } = await context.request.json(); - if (!token || !solutions) { + let body: { token?: unknown; solutions?: unknown }; + try { + body = await context.request.json(); + } catch { + return new Response(JSON.stringify({ success: false }), { status: 400 }); + } + + const { token, solutions } = body ?? {}; + if ( + typeof token !== "string" || + token.length > 256 || + !Array.isArray(solutions) || + solutions.length > 128 || + !solutions.every((s) => typeof s === "number") + ) { return new Response(JSON.stringify({ success: false }), { status: 400 }); } diff --git a/src/pages/contact.astro b/src/pages/contact.astro index 933fb9e..c3458b0 100644 --- a/src/pages/contact.astro +++ b/src/pages/contact.astro @@ -52,7 +52,7 @@ const msgValue = pickValue("msg"); errorIcon && progressIcon ) { - cap.addEventListener("solve", function (e) { + cap.addEventListener("solve", function () { const humanness = Math.round((85 + Math.random() * 14.9) * 10) / 10; statusText.textContent = `${humanness}% human. Good enough!`; progressIcon.classList.add("hidden"); @@ -60,7 +60,7 @@ const msgValue = pickValue("msg"); initIcon.classList.add("hidden"); completeIcon.classList.remove("hidden"); }); - cap.addEventListener("error", function (e) { + cap.addEventListener("error", function () { statusText.textContent = "Oops! We crashed!"; progressIcon.classList.add("hidden"); completeIcon.classList.add("hidden"); @@ -168,8 +168,11 @@ const msgValue = pickValue("msg"); name="name" aria-describedby="name" placeholder="Alice Bob" + value={nameValue} /> - {error.name &&

{error.name.join(",")}

} + {"name" in error && error.name && ( +

{error.name}

+ )}