iOS Universal Links
Introduzione
I link universali offrono un'esperienza di reindirizzamento senza soluzione di continuità agli utenti aprendo direttamente il contenuto nell'app, bypassando la necessità di un reindirizzamento su Safari. Questi link sono unici e sicuri, poiché non possono essere rivendicati da altre app. Questo è garantito ospitando un file JSON apple-app-site-association
nella directory radice del sito web, stabilendo un collegamento verificabile tra il sito web e l'app. Nei casi in cui l'app non sia installata, Safari prenderà il controllo e dirigerà l'utente alla pagina web, mantenendo la presenza dell'app.
Per i tester di penetrazione, il file apple-app-site-association
è di particolare interesse poiché potrebbe rivelare percorsi sensibili, potenzialmente inclusi quelli relativi a funzionalità non rilasciate.
Analisi del diritto ai domini associati
Gli sviluppatori abilitano i link universali configurando i Domini Associati nella scheda Capacità di Xcode o ispezionando il file .entitlements
. Ogni dominio è preceduto da applinks:
. Ad esempio, la configurazione di Telegram potrebbe apparire come segue:
Per ulteriori informazioni dettagliate, fare riferimento alla documentazione archiviata per sviluppatori Apple.
Se si lavora con un'applicazione compilata, i diritti possono essere estratti come descritto in questa guida.
Recupero del file Apple App Site Association
Il file apple-app-site-association
deve essere recuperato dal server utilizzando i domini specificati nei diritti. Assicurati che il file sia accessibile tramite HTTPS direttamente a https://<domain>/apple-app-site-association
. Strumenti come il Validator Apple App Site Association (AASA) possono aiutare in questo processo.
Gestione dei link universali nell'app
L'app deve implementare metodi specifici per gestire correttamente i link universali. Il metodo principale da cercare è application:continueUserActivity:restorationHandler:
. È fondamentale che lo schema degli URL gestiti sia HTTP o HTTPS, poiché altri non saranno supportati.
Validazione del metodo gestore dei dati
Quando un link universale apre un'app, un oggetto NSUserActivity
viene passato all'app con l'URL. Prima di elaborare questo URL, è essenziale convalidarlo e sanificarlo per prevenire rischi per la sicurezza. Ecco un esempio in Swift che dimostra il processo:
URLs devono essere analizzati e convalidati con attenzione, specialmente se includono parametri, per proteggere contro potenziali spoofing o dati malformati. L'API NSURLComponents
è utile a questo scopo, come dimostrato di seguito:
Attraverso una configurazione e una validazione diligenti, gli sviluppatori possono garantire che i link universali migliorino l'esperienza dell'utente mantenendo standard di sicurezza e privacy.
Tools
GetUniversal.link: Aiuta a semplificare il testing e la gestione dei Link Universali della tua app e del file AASA. Basta inserire il tuo dominio per verificare l'integrità del file AASA o utilizzare il dashboard personalizzato per testare facilmente il comportamento dei link. Questo strumento ti aiuta anche a determinare quando Apple indicizzerà nuovamente il tuo file AASA.
References
Last updated