Funn fra sikkerhetsgjennomgang: - HØY: post_id ble ikke validert, så en gjest kunne nå andres innlegg via gjest/../../posts/<slug> (lese utkast, laste opp/slette bilder, publisere eierens utkast). Slug og gjestenavn valideres nå mot samme alfabet de lages med, og stien sjekkes etter oppslag. - Bilder: pikselantall sjekkes før dekoding (maks 40 MP), og DecompressionBombError håndteres. - Innlogging: CSRF-token kreves også på login (login-CSRF), og innloggingsbrems etter 5 feil per brukernavn. - Passordbytte ugyldiggjør alle andre sesjoner (stempel i cookien). - Content-Security-Policy og X-Frame-Options på alle sider; admin har ingen inline script lenger (admin.js). - Gjestenavn og eier-slugs kan ikke lenger kollidere på /navn/. - Healthcheck respekterer SOAPBOX_BASE_PATH; login-redirect beholder base path; run.sh dropper capabilities og setter minnegrense; uv pinnet til 0.11. Rettet også en reell feil: existing_slugs() listet feil katalog (Path / er identitet), så slug-unikhet virket ikke. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JcEy43fNYpwg6K6oTKakWR
33 lines
1.3 KiB
Bash
33 lines
1.3 KiB
Bash
# Kopier til .env og juster. Alle verdier har fornuftige standarder;
|
||
# du trenger strengt tatt bare SOAPBOX_SITE_URL og hovedbrukeren.
|
||
# .env leses av run.sh (podman --env-file) og compose.yaml.
|
||
|
||
# Absolutt URL til bloggens rot. Brukes bare i feed.xml og for Secure-cookie
|
||
# (https → Secure). Ta med sub-path hvis du har en.
|
||
SOAPBOX_SITE_URL=https://blog.domene.no
|
||
|
||
# Sub-path bloggen ligger under bak Caddy, f.eks. /blog. Tom = rot.
|
||
SOAPBOX_BASE_PATH=
|
||
|
||
# Standardtema før noe er valgt i admin. Valget lagres i content/site.toml.
|
||
# Egne temaer: /data/content/themes/<navn>/ (følger med i git og backup).
|
||
SOAPBOX_THEME=green
|
||
|
||
# Lengste side på opplastede bilder (px). EXIF fjernes alltid.
|
||
SOAPBOX_MAX_IMAGE_PX=2000
|
||
|
||
# Hovedbruker – opprettes ved første start, ignoreres når en eier finnes.
|
||
# Bytt passord i admin etterpå og fjern gjerne linjene her.
|
||
SOAPBOX_OWNER_USER=olemd
|
||
SOAPBOX_OWNER_PASSWORD=bytt-meg-naa
|
||
|
||
# Valgfritt: overstyr cookie-nøkkelen. Standard: autogenerert i /data/secret_key.
|
||
#SOAPBOX_SECRET_KEY=
|
||
|
||
# --- Bare for run.sh / compose (ikke lest av appen) ---
|
||
# Lokal port Caddy proxyer til. Bindes kun til 127.0.0.1.
|
||
SOAPBOX_PORT=8080
|
||
# Podman-volum (navn) eller katalog (absolutt sti) for /data
|
||
SOAPBOX_VOLUME=soapbox-data
|
||
# Minnegrense for containeren (bildebehandling er det som bruker mest)
|
||
SOAPBOX_MEMORY=512m
|