W ostatnich latach trend aplikacji po stronie klienta (przeglądarki) naprawdę się rozwinął.
W moim najnowszym projekcie postanowiłem iść z duchem czasu i napisać aplikację po stronie klienta.
Część tej aplikacji obejmuje wysyłanie wiadomości e-mail dotyczących transakcji do użytkowników (na przykład sprawdzanie poprawności rejestracji, wiadomości e-mail dotyczące resetowania hasła itp.). Korzystam z interfejsu API innej firmy do wysyłania wiadomości e-mail.
Zwykle moja aplikacja działałaby na serwerze. Dzwonię do interfejsu API innej firmy z kodu na moim serwerze.
Uruchomienie aplikacji po stronie klienta oznacza, że teraz musi to nastąpić w przeglądarce użytkownika. Interfejs API innej firmy zapewnia niezbędne pliki JavaScript do osiągnięcia tego celu.
Pierwszym rażącym problemem, jaki widzę, jest konieczność użycia klucza API. Zwykle byłoby to bezpiecznie przechowywane na moim serwerze, ale teraz prawdopodobnie będę musiał dostarczyć ten klucz do przeglądarki klienta.
Zakładając, że mogę obejść ten problem, następnym problemem jest to, co powstrzymuje doświadczonego technicznie użytkownika ładującego narzędzie programistyczne JavaScript w przeglądarce i używającego interfejsu API poczty e-mail, tak czy inaczej, zamiast mówić o przestrzeganiu reguł, które ustawiłem w aplikacji .
Wydaje mi się, że moim ogólnym pytaniem jest - w jaki sposób możemy zapobiec złośliwemu użyciu aplikacji po stronie klienta?