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

wystawianie API, a bezpieczeństwo

VPS Starter Arubacloud
0 głosów
735 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,280 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,280 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,317 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ź 869 wizyt
pytanie zadane 8 marca 2021 w PHP przez fff Gaduła (3,950 p.)
0 głosów
1 odpowiedź 140 wizyt
pytanie zadane 13 maja 2019 w PHP przez Whereismycode Obywatel (1,710 p.)

93,014 zapytań

141,977 odpowiedzi

321,267 komentarzy

62,355 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...