Czytałem o oszustwie z powodu nieodebranego połączenia, w którym użytkownik jest obciążany, nawet jeśli nie oddzwoni na ten numer. Przyszło mi do głowy, że złośliwa aplikacja na iPhone'a może nawiązywać połączenia z numerami premium w celu oszukania użytkowników za pieniądze - w rzeczywistości wygląda na to, że zdarzyło się to w przeszłości.
Według własnej dokumentacji Apple :
Gdy użytkownik stuknie łącze telefoniczne na stronie internetowej, iOS wyświetla alert z pytaniem, czy użytkownik naprawdę chce wybrać numer telefonu i inicjuje wybieranie numeru, jeśli użytkownik zaakceptuje. Gdy użytkownik otwiera adres URL za pomocą schematu tel w natywnej aplikacji, iOS nie wyświetla ostrzeżenia i inicjuje wybieranie numeru bez dalszego monitowania użytkownika.
Wydaje mi się, że pozornie łagodna aplikacja na iPhone'a mogłaby, powiedzmy, poczekać, aż telefon pozostanie naładowany (a zatem prawdopodobnie nie będzie obecny przez użytkownika), a następnie zainicjować połączenie na numer o podwyższonej opłacie, aby uzyskać od programisty porządny bonus . Wygląda na to, że w systemie iOS nie ma żadnych uprawnień, które mogę zmienić, aby zapobiec takiemu zachowaniu, ponieważ powoduje to otwarcie aplikacji na telefon z adresem URL, a nie uzyskiwanie dostępu do danych telefonu.
Czy ktoś może potwierdzić, czy moje rozumowanie jest prawidłowe, a jeśli tak, to dlaczego, do licha, Apple nie zamknął tak otwartej dziury?
źródło
Zrobiłem aplikację testową, aby to sprawdzić. Aplikacja może otwierać adres URL, na przykład
tel://123456789
tylko wtedy, gdy jest na pierwszym planie i aktywna. Kiedy wywołuję ten kod, nawet tuż po przejściu w stan tła, interfejs API do otwarcia tego adresu URL nic nie zrobił. Aby odpowiedzieć na twoje pytanie - aplikacje nie będą mogły nawiązać połączenia bez Twojej wiedzy.Aby przetestować tę wklej to w
AppDelegate
:źródło
Podczas próby nawiązania połączenia w systemie iOS> = 10,3, użytkownik zawsze wyświetla wyskakujące okienko. Dokumenty
źródło