iOS Universal Links
Uvod
Univerzalni linkovi pružaju bezbedno preusmeravanje korisnicima tako što direktno otvaraju sadržaj u aplikaciji, zaobilazeći potrebu za preusmeravanjem preko Safari-ja. Ovi linkovi su jedinstveni i sigurni, jer ih druge aplikacije ne mogu koristiti. To se obezbeđuje postavljanjem apple-app-site-association
JSON fajla na korenski direktorijum veb sajta, uspostavljajući proverljivu vezu između veb sajta i aplikacije. U slučajevima kada aplikacija nije instalirana, Safari će preuzeti kontrolu i usmeriti korisnika na veb stranicu, održavajući prisustvo aplikacije.
Za testere penetracije, fajl apple-app-site-association
je posebno interesantan jer može otkriti osetljive putanje, potencijalno uključujući one koje se odnose na neobjavljene funkcionalnosti.
Analiziranje dozvole za povezane domene
Razvojni programeri omogućavaju Univerzalne linkove konfigurisanjem Povezanih domena u Xcode-ovom tabu Mogućnosti ili inspekcijom .entitlements
fajla. Svaki domen ima prefiks applinks:
. Na primer, konfiguracija Telegram-a može izgledati ovako:
Za sveobuhvatnije uvide, pogledajte arhiviranu Apple Developer dokumentaciju.
Ako radite sa kompajliranom aplikacijom, dozvole se mogu izvući kako je opisano u ovom vodiču.
Dobijanje Apple App Site Association fajla
Fajl apple-app-site-association
treba dobiti sa servera koristeći domene navedene u dozvolama. Proverite da li je fajl dostupan putem HTTPS direktno na https://<domen>/apple-app-site-association
. Alati poput Apple App Site Association (AASA) Validator mogu pomoći u ovom procesu.
Obrada Universal Links u aplikaciji
Aplikacija mora implementirati određene metode kako bi pravilno obradila universal linkove. Primarna metoda koju treba tražiti je application:continueUserActivity:restorationHandler:
. Bitno je da šema URL-ova koje se obrađuju bude HTTP ili HTTPS, jer druge neće biti podržane.
Validacija metode za obradu podataka
Kada se universal link otvori u aplikaciji, NSUserActivity
objekat se prosleđuje aplikaciji sa URL-om. Pre obrade ovog URL-a, bitno je validirati i dezinfikovati ga kako bi se sprečili sigurnosni rizici. Evo primera u Swift-u koji demonstrira proces:
URL-ovi treba pažljivo analizirati i validirati, posebno ako sadrže parametre, kako bi se zaštitili od potencijalnih prevara ili neispravnih podataka. NSURLComponents
API je koristan u tu svrhu, kao što je prikazano u nastavku:
Kroz pažljivu konfiguraciju i validaciju, programeri mogu osigurati da univerzalni linkovi poboljšaju korisničko iskustvo, istovremeno održavajući standarde sigurnosti i privatnosti.
Reference
Last updated