
Kur një aplikacion web komunikon me OpenAI ose Gemini drejtpërdrejt nga shfletuesi, çelësi API përfshihet në JavaScript që shkarkon çdo vizitor. Kushdo mund ta kopjojë dhe të dërgojë kërkesa që faturohen në llogarinë e pronarit.
Ekspozimi mund të vijë nga thirrjet brenda komponentëve React ose nga ruajtja e çelësit në variabla me prefikset VITE_ dhe NEXT_PUBLIC_. Vite dhe Next.js i përfshijnë këto vlera në kodin që i dërgohet shfletuesit. Edhe opsioni dangerouslyAllowBrowser i bibliotekës JavaScript të OpenAI lejon përdorimin në shfletues, duke ekspozuar kredencialet sekrete.
Për verifikim, paneli Network në DevTools mund të tregojë nëse kërkesat shkojnë drejtpërdrejt te api.openai.com ose generativelanguage.googleapis.com. Kontrolli i kodit për çelësa dhe i faqes së përdorimit te ofruesi ndihmon në zbulimin e ekspozimit, kërkesave ose shpenzimeve të panjohura.
Zgjidhja është ruajtja e çelësit si sekret në server dhe kalimi i thirrjeve përmes një Edge Function që pranon vetëm përdorues të identifikuar dhe verifikon të dhënat hyrëse. Frontend-i duhet të thërrasë këtë funksion, pa mbajtur çelësin apo SDK-në e ofruesit. Pas zhvendosjes, çelësi i ekspozuar duhet zëvendësuar me një të ri.
Burimi: DEV Community (Web Dev Feed) — lexoni artikullin e plotë në anglisht.

