Subiect

URL-uri OG Image semnate

Un URL OG Image semnat este un URL ale cărui parametri sunt protejați cu o semnătură HMAC-SHA256, astfel încât doar tu (și codul care deține secretul tău) poți solicita randări care se contabilizează în cota ta lunară. FastOG semnează conținutul — parametri identici produc întotdeauna același URL, stocat în cache — ceea ce îți protejează cota și face stocarea în cache deterministă.

De ce să semnezi URL-urile imaginilor OG

Un endpoint pentru imagini OG care randează text arbitrar dintr-un URL neautentificat este o fermă de randare gratuită pe care oricine o poate accesa. Într-un serviciu bazat pe abonament, asta înseamnă că oricine ți-ar putea consuma soldul. Semnarea fiecărui URL cu un secret pe care doar backend-ul tău îl cunoaște blochează orice cerere neautorizată la prima preluare (necachetată), în timp ce URL-urile legitime și cache-uite continuă să funcționeze.

Cum funcționează semnarea conținutului

  1. Construiești șirul de interogare canonic: fiecare parametru (cu excepția semnăturii), sortat și codificat conform RFC-3986.
  2. Calculezi HMAC_SHA256(secret, "GET/api/v1/og\n" + canonical).
  3. Adaugi semnătura ca parametru s.

Mesajul nu include un marcaj de timp, deci URL-ul este stabil: aceiași parametri → același URL → aceeași intrare în cache.

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

Compromisul pe care oamenii îl înțeleg greșit

Îngrijorare Realitate
„Un URL semnat va expira” Nu — este semnat pe conținut, valid până când rotești secretul
„Un URL modificat strică cache-ul” Nu — un s fals primește doar 401 la un miss de cache; imaginile din cache se returnează oricum
„Am nevoie de timestamp-uri pentru securitate” Semnarea conținutului este suficientă pentru a opri abuzul de cotă; nu e nevoie de ceas

SDK-uri într-un singur fișier

FastOG livrează un singur fișier semnatar (signer) pentru fiecare limbaj (zero dependențe), astfel încât să nu mai implementezi niciodată HMAC manual. Descarcă de pe pagina SDK sau curl direct din CDN:

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

Întrebări frecvente

Expiră vreodată URL-urile semnate?

Nu, implicit nu — rămân valide până când rotești secretul HMAC al cheii API. Sunt semnate pe conținut, nu pe timp.

Poate altcineva să-mi consume cota ghicind un URL?

Nu. Are nevoie de secretul tău HMAC pentru a forma o semnătură validă; fără el, randările necacheate returnează 401 invalid_signature.

Semnez URL-ul în browser?

Nu. Semnează pe server (sau într-o funcție edge) unde secretul nu ajunge niciodată la client. URL-ul imaginii randate este sigur de pus în <head>-ul tău public.

Încearcă gratuit — nu este necesară înregistrarea

Previzualizează și testează imagini OG dinamice în câteva secunde.

Deschide Testerul gratuit de imagini OG

A BeCaSimulations site