Jak mogę zezwolić na dostęp do mojej bazy danych MySQL tylko z mojej aplikacji na iOS? (Używanie webapp jako bramy do db)

Moja aplikacja na iOS musi połączyć się z serwerem mysql. Aby to osiągnąć, chciałbym stworzyć aplikację internetową, która działa jako pośrednik między aplikacjami po stronie klienta a bazą danych po stronie serwera.

Obawiam się, że ktoś może po prostu znaleźć adres URL, którego moja aplikacja używa i przekazuje własne parametry adresu URL - a ponieważ aplikacja nie ma pojęcia, czy z mojej aplikacji iOS wysyłane są prawidłowe dane, a ktoś po prostu wpisuje prawidłowo spreparowany adres URL z w dowolnej przeglądarce internetowej system będzie podatny na ataki.

Powiedzmy, że mam funkcję PHP do oznaczania użytkownika jako „zweryfikowanego” (po wysłaniu im kodu weryfikacyjnego e-mail). To dość standardowe rzeczy, ale co powstrzymuje kogoś przed wykonaniem tego samego żądania z przeglądarki internetowej?

Oczywiście użytkownik, którego aplikacja używa do tworzenia zapytań do bazy danych, będzie miał ograniczone uprawnienia, więc reszta bazy danych nie będzie zagrożona. Jednak nawet aktywowanie kont użytkowników spoza aplikacji byłoby katastrofalne.

Opcja, o której myślałem, polegała na użyciu https, więc nawet jeśli użytkownik wykryje adres URL, nie będzie znał hasła i nie będzie w stanie go wąchać, ponieważ jest szyfrowany od początku do końca. Niestety, https może być kosztowne dla biednego studenta, więc chciałbym alternatywę, jeśli taka istnieje.

questionAnswers(1)

yourAnswerToTheQuestion