kontekst:
Napisałem prostą aplikację odpytywającą za pomocą stosu Perna (Postgre, Express, Reactjs i Nodegs). Klient wysyła żądanie na serwer, zwraca to dane pytania i wyświetla ją użytkownikowi. Następnie użytkownik wybiera opcję A lub B. jest następnie wysyłany za pośrednictwem żądania pocztowego do serwera, który następnie wyzwala bazę danych do aktualizacji.

Moim problemem jest to, że ktoś może oglądać surowy HTML klienta i zobaczyć serwer URL i wyślij pocztę / otrzymasz żądanie tego samego formatu. Nawet jeśli użyłem tokenu uwierzytelniania, na pewno ktoś mógł znów zobaczyć surowy html, zobacz żądanie Get i rób to sam?

Jest to możliwe, że coś tutaj brakuje, więc każda pomoc byłaby bardzo doceniana.

2
Jambla 26 październik 2020, 01:39

1 odpowiedź

Najlepsza odpowiedź

Pytanie jest trochę niejasne. Jeśli masz na myśli warstwę aplikacji, nie ma sposobu, aby temu zapobiec, chyba że odłączyć go od Internetu, który nie jest możliwy. Istnieją pewne sposoby, aby zmniejszyć ładunek i śledzić każdą prośbę - jedyną rzeczą, którą każdy robi.

ograniczenie żądań / limit stóp

Jeśli istnieją pewne publiczne punkty końcowe, które nie zawierają żadnych uwierzytelniania, lepiej ograniczyć liczbę żądań, które zostały wysłane z tego samego użytkownika w określonym czasie. Istnieją pewne pakiety, które możesz sprawdzić. Pomoże to zmniejszyć obciążenie serwera.

Uwierzytelnianie

Możesz chcieć śledzić żądania użytkowników, a następnie powinieneś uwierzytelnić je za pomocą tokena lub czegoś takiego. W takim przypadku nawet klienci, którzy wysyłają żądanie, nie zmieni żadnych danych na zaplecze, dopóki nie uzyskają autoryzacji.

warstwa sieciowa

Możesz wyłączyć połączenie internetowe z serwerem i zezwolić tylko konkretnym IPS do wysyłania żądań. Nawet w takim przypadku nie uniemożliwia wysyłanie żądań, po prostu je zignorujesz. Innym sposobem jest użycie dostawcy CDN do ochrony usług z ataków DDO.

3
Emad Mamaghani 26 październik 2020, 13:05