Onderwerp

Ondertekende OG-afbeeldings-URL's

Een ondertekende OG-afbeeldings-URL is een URL waarvan de parameters zijn beveiligd met een HMAC-SHA256-handtekening, zodat alleen jij (en de code die jouw geheim bevat) renders kunt aanvragen die meetellen voor je maandelijkse quotum. FastOG ondertekent de inhoud — identieke parameters produceren altijd dezelfde, gecachte URL — wat zowel je quotum beschermt als caching deterministisch maakt.

Waarom OG-afbeeldings-URL’s ondertekenen

Een OG-afbeeldingsendpoint dat willekeurige tekst rendert vanaf een niet-geauthenticeerde URL is een gratis renderfarm die iedereen kan gebruiken. Bij een abonnementsservice betekent dit dat iedereen je saldo kan opmaken. Door elke URL te ondertekenen met een geheim dat alleen je backend kent, blokkeer je elke niet-geautoriseerde aanvraag bij de eerste (niet-gecachete) fetch, terwijl legitieme, gecachte URL’s blijven werken.

Hoe content-ondertekening werkt

  1. Je bouwt de canonieke query-string: elke parameter (behalve de handtekening), gesorteerd en RFC-3986-gecodeerd.
  2. Je berekent HMAC_SHA256(secret, "GET/api/v1/og\n" + canonical).
  3. Je voegt de handtekening toe als de s-parameter.

Het bericht bevat geen tijdstempel, dus de URL is stabiel: dezelfde parameters → dezelfde URL → dezelfde cache-entry.

canonical = "key=sk_...&template=default&title=Hello"
signature = HMAC-SHA256(secret, "GET/api/v1/og\n" + canonical)
url = ".../api/v1/og?key=...&template=default&title=Hello&s=" + signature

De afweging die mensen verkeerd begrijpen

Zorg Realiteit
"Een ondertekende URL verloopt" Nee — deze is inhoudsondertekend en geldig totdat je het geheim roteert
"Een gemanipuleerde URL verbreekt de cache" Nee — een ongeldige s krijgt alleen een 401 bij een cache miss; gecachte afbeeldingen worden toch geretourneerd
"Ik heb tijdstempels nodig voor beveiliging" Inhoudsondertekening is voldoende om quotummisbruik te stoppen; geen klok nodig

One-file-SDK's

FastOG levert één signer-bestand per taal (zonder afhankelijkheden), zodat je nooit zelf HMAC hoeft te implementeren. Download het van de SDK-pagina of curl rechtstreeks vanaf de CDN:

bash
curl -O https://fastog.com/sdk/node.js

FAQ

Verlopen ondertekende URL's ooit?

Standaard niet — ze blijven geldig totdat je het HMAC-geheim van de API-sleutel roteert. Inhoud-ondertekend, niet tijd-ondertekend.

Kan iemand anders mijn quotum verbruiken door een URL te raden?

Nee. Ze hebben je HMAC-geheim nodig om een geldige handtekening te vormen; zonder dat retourneren niet-gecachte renders 401 invalid_signature.

Onderteken ik de URL in de browser?

Nee. Onderteken server-side (of in een edge-functie) waar het geheim nooit naar de client wordt verzonden. De gerenderde afbeeldings-URL is veilig om in je publieke <head> te plaatsen.

Probeer het gratis — geen aanmelding vereist

Bekijk en test dynamische OG-afbeeldingen in seconden.

Open de gratis OG-afbeeldingstester

A BeCaSimulations site