Allekirjoitetut OG-kuva-URL-osoitteet
Allekirjoitettu OG-kuva-URL on URL-osoite, jonka parametrit on suojattu HMAC-SHA256-allekirjoituksella, joten vain sinä (ja salaisuutesi sisältävä koodi) voit pyytää renderöintejä, jotka kuluttavat kuukausittaista kiintiötäsi. FastOG allekirjoittaa sisällön — identtiset parametrit tuottavat aina identtisen, välimuistitetun URL-osoitteen — mikä sekä suojaa kiintiötäsi että tekee välimuistituksesta determinististä.
Miksi OG-kuvan URL-osoitteet allekirjoitetaan
OG-kuvan päätepiste, joka renderöi mielivaltaista tekstiä todennustamattomasta URL-osoitteesta, on ilmainen renderöintifarmi, jota kuka tahansa voi käyttää. Tilauspohjaisessa palvelussa tämä tarkoittaa, että kuka tahansa voisi kuluttaa saldosi. Allekirjoittamalla jokaisen URL-osoitteen salaisuudella, jonka vain taustajärjestelmäsi tuntee, estät kaikki luvattomat pyynnöt ensimmäisessä (välimuistiin tallentamattomassa) haussa, kun taas lailliset, välimuistiin tallennetut URL-osoitteet toimivat edelleen.
Miten sisällön allekirjoitus toimii
- Muodostat kanonisen kyselymerkkijonon: jokainen parametri (paitsi allekirjoitus), lajiteltuna ja RFC-3986-koodattuna.
- Lasket
HMAC_SHA256(secret, "GET/api/v1/og\n" + canonical). - Liität allekirjoituksen
s-parametrina.
Viesti ei sisällä aikaleimaa, joten URL on vakaa: samat parametrit → sama URL → sama välimuistimerkintä.
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
Väärin ymmärretty kompromissi
| Huolenaihe | Todellisuus |
|---|---|
| "Allekirjoitettu URL vanhenee" | Ei — se on sisältöallekirjoitettu ja voimassa, kunnes vaihdat salaisuuden |
| "Muokattu URL rikkoo välimuistin" | Ei — virheellinen s saa vain 401-vastauksen välimuistin ohituksessa; välimuistissa olevat kuvat palautuvat silti |
| "Tarvitsen aikaleimoja tietoturvaan" | Sisältöallekirjoitus riittää estämään kiintiön väärinkäytön; kelloa ei tarvita |
Yhden tiedoston SDK:t
FastOG toimittaa yhden allekirjoitustiedoston (signer file) jokaista kieltä kohden (ilman riippuvuuksia), joten sinun ei tarvitse koskaan toteuttaa HMAC:ia itse. Lataa SDK-sivulta tai curl suoraan CDN:stä:
curl -O https://fastog.com/sdk/node.js
UKK
Vanhenevatko allekirjoitetut URL-osoitteet koskaan?
Eivät oletuksena — ne pysyvät voimassa, kunnes vaihdat API-avaimen HMAC-salaisuuden. Sisältö on allekirjoitettu, ei aikaan sidottu.
Voiko joku muu kuluttaa kiintiötäni arvaamalla URL-osoitteen?
Ei. He tarvitsevat HMAC-salaisuutesi muodostaakseen kelvollisen allekirjoituksen; ilman sitä välimuistiin tallentamattomat renderöinnit palauttavat 401 invalid_signature.
Allekirjoitanko URL-osoitteen selaimessa?
Et. Allekirjoita palvelinpuolella (tai edge-funktiossa), jossa salaisuus ei koskaan kulkeudu asiakkaalle. Renderöity kuvien URL-osoite on turvallista laittaa julkiseen <head>-osoitteeseesi.