irrlicht 925b00edf5 Bild-Upload: animierte GIFs erhalten statt aufs erste Frame reduzieren
Animierte GIFs (mehr als 1 Frame) werden jetzt unverändert durchgereicht
statt via Decode+Re-Encode auf das erste Frame reduziert. Da die Bytes
dabei nicht mehr sanitisiert werden, zwei Guardrails:

- gif.DecodeAll läuft über einen io.LimitReader (16 MB) und prüft danach
  ein Frame-Budget (1000) sowie ein Gesamtpixel-Budget (100 MP) -> bremst
  den DoS-Vektor (GIF-Bombe mit vielen Frames). copyUpload schreibt die
  Bytes unter serverseitig erzeugtem Namen und deckelt hart bei 16 MB.
- noSniff-Middleware setzt X-Content-Type-Options: nosniff auf /static/*,
  damit der Browser eine durchgereichte Datei nicht als HTML/JS deutet
  (Polyglot/Stored-XSS).

Standbilder (JPEG/PNG/Einzelbild-GIF) behalten den skalierenden
Re-Encode-Pfad und damit die Sanitisierung.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 07:06:54 +02:00
2026-06-10 06:12:21 +02:00
2026-06-07 17:07:17 +02:00
2026-06-07 17:07:17 +02:00
2026-06-07 17:07:17 +02:00
S
Description
Simple Forumengine
3.5 MiB
Languages
Go 53.2%
HTML 17.8%
JavaScript 16.9%
CSS 6.8%
Shell 4.6%
Other 0.7%