• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wystawianie API, a bezpieczeństwo

Object Storage Arubacloud
0 głosów
700 wizyt
pytanie zadane 20 stycznia 2020 w PHP przez XiverKi Bywalec (2,050 p.)
dzien dobry,

jak to jest z wystawianiem api dla własnej aplikacji front endowej.

przykładowo, budujemy apke, która składać się bedzie z backendu w php, który wystawia api restowe
oraz front endu napisanym np w Vue.js

jak to jest z bezpieczeństwem i pozyskiwaniem danych?

bo wychodzi na to, osoba, która po takiej aplikacji się porusza i wyciągnie dostęp do endpointów jest w stanie umieszczać rekordy w bazie lub wyciągać dane nawet z wykorzystaniem postmana

czy nie powinnismy sie jakos przed tym zabezpieczać?

3 odpowiedzi

+1 głos
odpowiedź 20 stycznia 2020 przez Aisekai Nałogowiec (42,190 p.)
Krótko mówiąc: musisz udostępnić mechanizm logowania po stronie systemu RESTowego. Czy wykorzystasz tutaj sesje, czy nie, nie ma większego znaczenia (w znaczeniu zabezpieczenia serwera, natomiast ma znaczenie jeśli chodzi o bezpieczeństwo i skalowalność). Frontend, ma być tylko ułatwieniem dla końcowego użytkownika pozwalając na wygodne manipulowanie danymi. Co nie zmienia faktu, że również powinien być zabezpieczony przed możliwością wykradzenia wrażliwych danych (session cookie, jwt itd), wstrzyknięcia Js czy ataków typu Csrf.

REST ma to do siebie, że nie dba o to czy żądanie wysyła twoja strona, postman czy aplikacja mobilna. Więc powinieneś zaimplementować i zabezpieczyć mechanizm logowania po stronie RESTa, oraz po stronie frontendu.
0 głosów
odpowiedź 20 stycznia 2020 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)

Nie wiem jak jest z backendem w php ale za pewnie jest coś co pomaga w bezpieczeństwie aplikacji. Jeśli chodzi o backend pisany w Javie (z takim miałem doczynienia) jest tam fajna biblioteka dla springa - Spring Security. Możemy dodawać różne adnotacje przed metodami aby sprawdzić czy ten ktoś ma prawa do danych z API. Tu możesz poczytać więcej o tych  adnotacjach. W skrócie kod wygląda wtedy tak:

@PreAuthorize("hasRole(@role.canReadWrite())")
 public String getHello(){
         return "Hello";
 }

 

0 głosów
odpowiedź 20 stycznia 2020 przez Mariusz08 Maniak (62,300 p.)
Jeśli sa to dane ogólnodostępne (załóżmy publiczne dane czyli np lista użytkowników na forum) to nie ma sensu takiego czegoś zabezpieczać.

Jeśli są to endpointy które przykładowo operują na bazie danych robiąc inserty, dropy itd. to trzeba taki endpoint zabezpieczyć. Najczęstszym rozwiązaniem jest system JWT (JSON Web Token) który jest generowany po stronie serwera i klient aby dostać się do takiego endpointa musi ten JWT przysłać do serwera. Wtedy następuje sprawdzanie czy token jest aktualny i czy ten token ma uprawnienia do wykonania takiej akcji w systemie.
komentarz 20 stycznia 2020 przez XiverKi Bywalec (2,050 p.)
No tak ale taki token w aplikacji front endowej  i tak bedzie widoczny czyż nie?
Wysyłany post do serwera musi go w sobie zawierać więc nie będzie problemu aby go przechwycić
komentarz 20 stycznia 2020 przez Mariusz08 Maniak (62,300 p.)
Będzie widoczny, ale jeśli token jest powiązany z użytkownikiem, który i tak może wykonywać dane akcje, to co to za różnica czy robi to z frontendu czy po prostu śle zapytania do API?

Podobne pytania

0 głosów
2 odpowiedzi 1,143 wizyt
pytanie zadane 5 sierpnia 2019 w Bezpieczeństwo, hacking przez Mikołaj_627 Początkujący (480 p.)
0 głosów
1 odpowiedź 553 wizyt
pytanie zadane 8 marca 2021 w PHP przez fff Gaduła (3,950 p.)
0 głosów
1 odpowiedź 124 wizyt
pytanie zadane 13 maja 2019 w PHP przez Whereismycode Obywatel (1,710 p.)

92,555 zapytań

141,403 odpowiedzi

319,560 komentarzy

61,941 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...