Kezdőoldal » Számítástechnika » Weblapkészítés » Hogyan lehet "levédeni" az...

Hogyan lehet "levédeni" az API kéréseket egy frontend alkalmazásban?

Figyelt kérdés

Van egy angular keretrendszerben megírt oldal amiben vannak API lekérdezések.

Maga az oldal ingyenes viszont az API előfizetős lenne.

Ez egy úgymond "látvány" oldal lenne amin megtudják nézni az érdeklődők, hogy azok az adatok amiket az API szolgáltatna az nekik megfelelő-e.

Viszont nem tudom hogyan oldjam meg, hogy amiket az angular küld API lekérdezéseket ne lehessen egyszerűen kiszedni a böngésző hálózati forgalmából vagy javascript fájljaiból és használják fel az ingyenes oldal API elérhetőségét.

Erre milyen megoldások léteznek?



2022. jan. 21. 16:24
 1/5 anonim ***** válasza:
Mi ezt úgy csináltuk meg, mint legegyszerűbb, hogy két rendszer volt. Az egyik az ingyenes, az ingyenes API-val, és egy teljesen más rendszeren volt a fizetős cucc. Aztán barkácsolhat bármit a források visszafejtésével, nem fogja elérni a fizetős cuccokat. Azok meg eleve fizetősek és egy másik dolgon fut.
2022. jan. 21. 17:04
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
100%

Szerintem rossz a megközelítés. Ha fizetős az API, akkor gondolom valahogy hitelesíted a felhasználóját. Hitelesítés nélkül pedig nem működne.


Én a backendet JWT-s hitelesítéssel csinálnám meg (így érnék el az ügyfelek) az oldal pedig saját kulccsal működne.

Az XSS-nek is olvass utána.


Nem kell külön rendszer, simán védhető így.

2022. jan. 21. 21:48
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:

#1 Sajnos nincs külön ingyenes és fizetős API.


#2 De ha az oldal saját API tokent kap azt is kitudják lesni.


Kicsit pontosítok a történeten.

Az ügyfélszolgálat heti szinten több olyan kérdést kap, hogy ezt meg azt az adatot tartalmazza-e az adatbázisunk.

Erre jött az ötlet valakitől, hogy azt a dashboardot ahol az ügyfélszolgálat és az előfizetők tudnak turkálni az adatbázisba azt tegyük nyilvánossá bárki által megtekinthetővé (mert egyébként nem tartalmaz semmilyen érzékeny adatot).

Ez a dashboard teljesen az API-ra lett megírva angular-ban amivel így nem volt gond, mert volt benne authentikáció és bejelentkezés után mindenki megkapta a saját API tokenjét amire előfizetett.

Viszont így, hogy ki kellett szedjem a bejelentkezést, az oldal már csak egy konkrét API tokennel dolgozik, amit én generáltam neki és ez a token kinézhető a js fájlokból és a hálózati forgalomból is.

Arra gondoltam, hogy az egész oldalt átírnám PHP-ba ahol backenden futnának ki az API lekérdezések amit szerver oldalon generálna bele a HTML-be és már a komplett HTML-t kapná meg a user így köze nem lenne a user-nek az API lekérdezésekhez. De ezt a megoldást utoljára választanám, mert az a dashboard eléggé angular függő.

2022. jan. 22. 12:50
 4/5 anonim ***** válasza:
#3 Az adott tokent pl. csak egy (vagy meghatározott számú) ip-ről fogadtok el. ennyi.
2022. jan. 22. 12:55
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:
... vagy domainról. Így működik nagy vonalakban a google map apija is.
2022. jan. 22. 12:56
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!