jquery - Vad är poängen med en JavaScript API-nyckel när den kan ses av alla som tittar på js-koden
Jag har sett tjänster som Google som kräver att du lägger till en API-nyckel när du gör ett JavaScript-anrop, så här.
https://www.google.com/jsapi?key=thekeygoeshere
Vad är poängen med att ha denna javascript-api-nyckel när koden kan ses och nyckeln kan läsas. Kan inte någon bara kopiera denna nyckel och använda den för sin egen webbplats? Eller är det något annat de gör i bakgrunden för att säkerställa att nyckeln tillhör webbplatsen som gör anropet?
Svar #1
Förmodligen kontrollerar de referer HTTP-headern.
Majoriteten av användarna skickar det. Så om är:
- Webbplatsen som matchar nyckeln, de kan fungera som normalt.
- En webbplats som inte matchar nyckeln, de kan avvisa förfrågan.
- Blank, de kan fungera som vanligt och låta en liten andel människor använda API:et på fel webbplats.
Majoriteten av besökare på en webbplats som använder fel nyckel kommer att bli blockerade, så det kommer inte att vara värt att använda fel nyckel på webbplatsen från början.
Svar #2
Google-koden kommer att använda AJAX eller något liknande som kommer att göra ett anrop till deras server och specificera din nyckel samt URL:en till webbplatsen den används på. Google kan då kontrollera om det är rätt webbplats för den nyckeln och stoppa koden från att fungera om det inte är det.
Även om kart-API:et verkar fungera på vilken webbplats som helst med vilken nyckel som helst.