Aláírt OG-kép URL-ek
Az aláírt OG-kép URL egy olyan URL, amelynek paramétereit HMAC-SHA256 aláírás védi, így csak Ön (és az Ön titkos kulcsát birtokló kód) kérhet olyan rendereléseket, amelyek a havi kvótájába számítanak. A FastOG a tartalmat írja alá – az azonos paraméterek mindig azonos, gyorsítótárazott URL-t eredményeznek –, ami egyaránt védi a kvótáját, és determinisztikussá teszi a gyorsítótárazást.
Miért kell aláírni az OG-kép URL-eket
Egy OG-kép végpont, amely tetszőleges szöveget jelenít meg egy hitelesítés nélküli URL-ről, egy ingyenes renderelő farm, amelyet bárki elérhet. Egy előfizetéses szolgáltatásnál ez azt jelenti, hogy bárki felégetheti az egyenlegét. Ha minden URL-t aláír egy titkos kulccsal, amelyet csak a háttérrendszer ismer, az minden jogosulatlan kérést blokkol az első (nem gyorsítótárazott) lekérésnél, miközben a legitim, gyorsítótárazott URL-ek továbbra is működnek.
Hogyan működik a tartalom aláírása
- Ön összeállítja a kanonikus lekérdezési karakterláncot: minden paramétert (kivéve az aláírást), rendezve és RFC-3986 szerint kódolva.
- Ön kiszámítja a
HMAC_SHA256(secret, "GET/api/v1/og\n" + canonical)értéket. - Ön hozzáfűzi az aláírást a
sparaméterként.
Az üzenet nem tartalmaz időbélyeget, így az URL stabil: ugyanazok a paraméterek → ugyanaz az URL → ugyanaz a gyorsítótár-bejegyzés.
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
A gyakran félreértett kompromisszum
| Kérdés | Valóság |
|---|---|
| „Az aláírt URL lejár" | Nem — tartalom-aláírt, a titkos kulcs rotációjáig érvényes |
| „A módosított URL tönkreteszi a gyorsítótárat" | Nem — egy hamis s csak cache kihagyás esetén kap 401-es választ; a gyorsítótárazott képek ettől függetlenül visszaadódnak |
| „Biztonsági okokból időbélyegre van szükségem" | A tartalom-aláírás elegendő a kvóta-visszaélések megakadályozásához; nincs szükség órára |
Egyfájlos SDK-k
A FastOG nyelvenként egyetlen aláírófájlt (signer file) biztosít (függőségek nélkül), így soha nem kell kézzel HMAC-et implementálnia. Töltse le az SDK-oldalról, vagy húzza be közvetlenül a CDN-ről a curl paranccsal:
curl -O https://fastog.com/sdk/node.js
GYIK
Lejárnak valaha az aláírt URL-ek?
Alapértelmezés szerint nem – addig érvényesek maradnak, amíg el nem forgatja az API-kulcs HMAC-titkát. Tartalom szerint aláírtak, nem idő szerint.
Elköltheti valaki más az én kvótámat egy URL kitalálásával?
Nem. Szüksége van az Ön HMAC-titkára ahhoz, hogy érvényes aláírást hozzon létre; enélkül a gyorsítótárazatlan renderelések 401 invalid_signature értéket adnak vissza.
A böngészőben írom alá az URL-t?
Nem. Szerveroldalon (vagy egy edge függvényben) írja alá, ahol a titok soha nem jut el az ügyfélhez. A renderelt kép URL-je biztonságosan elhelyezhető a nyilvános <head> részben.