W systemie opartym na REST, jakie są opcje "szyfrowania" identyfikatorów zasobów.Zabezpieczenia REST Projekt dobrej praktyki przy eksponowaniu zasobów ID
Na przykład:
/client/2
byłyby dostępne w
/client/SOMEHASHKEY
myślę:
1 - Czy DB tabel, które śledzi identyfikator zasobów i to odpowiada HASH i sprawdź to na każde żądanie. To oczywiście wydaje się dość trudne do wdrożenia i znacznie zwiększa pracę serwera.
2 - mieć jakiś algorytmu szyfrującego wewnętrznego, które utworzyć skrót na przykład w oparciu o dacie utworzenia zasobów, zasoby ID i base64 to (oczywiście nie jest optymalny, ale o co chodzi)
Więc są tam dobre praktyki dla tego rodzaju scenariuszy? Co byś polecił ?
Wiele Dzięki
hum, więc jeśli biorę twoją odpowiedź i próbuję zastosować to do mojego pytania, masz na myśli używanie tabeli do śledzenia współzależności między hasłem, identyfikatorem GUID lub czymkolwiek i rzeczywistym zasobem? – silkAdmin
To zależy od tego, jak aplikacja przechowuje zasób. Nie mam pojęcia, jak wygląda zasób wewnątrz aplikacji. Ale tak, jeśli musisz wewnętrznie trzymać się liczb całkowitych, wtedy dodaj kolejną właściwość guid do swojego modelu klienta. Jeśli twoja pamięć jest tabelą SQL DB, to przechowuj ją w dodatkowym polu tabeli klienta. – stmllr
, aby przywrócić nas do pytania o "dobrą praktykę", myślę, że chodzi o to, że powinienem indeksować UUID w samej tabeli zasobów? – silkAdmin