iOS Universal Links
Вступ
Універсальні посилання пропонують безшовний досвід перенаправлення для користувачів, відкриваючи вміст безпосередньо в додатку, обходячи потребу у перенаправленні Safari. Ці посилання є унікальними та безпечними, оскільки їх не можуть використовувати інші додатки. Це забезпечується шляхом розміщення файлу JSON apple-app-site-association
в кореневому каталозі веб-сайту, встановлюючи перевірене посилання між веб-сайтом та додатком. У випадках, коли додаток не встановлено, Safari бере на себе керування та направляє користувача на веб-сторінку, зберігаючи присутність додатка.
Для тестувальників на проникнення файл apple-app-site-association
є особливо цікавим, оскільки він може розкрити чутливі шляхи, можливо, пов'язані з невипущеними функціями.
Аналіз Пов'язаних Доменів Уповноважень
Розробники активують Універсальні Посилання, налаштовуючи Пов'язані Домени во вкладці Можливості Xcode або інспектуючи файл .entitlements
. Кожен домен починається з applinks:
. Наприклад, конфігурація Telegram може виглядати наступним чином:
Для отримання більш детальної інформації, звертайтеся до архівної документації розробника Apple.
Якщо ви працюєте з скомпільованим додатком, entitlements можна видобути, як описано в цьому керівництві.
Отримання файлу Apple App Site Association
Файл apple-app-site-association
слід отримати з сервера, використовуючи домени, вказані в entitlements. Переконайтеся, що файл доступний через HTTPS безпосередньо за адресою https://<domain>/apple-app-site-association
. Інструменти, такі як Apple App Site Association (AASA) Validator, можуть допомогти у цьому процесі.
Обробка універсальних посилань у додатку
Додаток повинен реалізувати конкретні методи для правильної обробки універсальних посилань. Основний метод, на який варто звернути увагу, - application:continueUserActivity:restorationHandler:
. Важливо, щоб схема URL, яку обробляється, була HTTP або HTTPS, оскільки інші не підтримуються.
Перевірка методу обробки даних
Коли універсальне посилання відкриває додаток, об'єкт NSUserActivity
передається додатку разом з URL. Перед обробкою цього URL важливо перевірити та очистити його для запобігання ризикам безпеки. Ось приклад на Swift, який демонструє цей процес:
URL-адреси слід ретельно аналізувати та перевіряти, особливо якщо вони містять параметри, щоб захиститися від можливого підроблення або некоректних даних. API NSURLComponents
корисний для цієї цілі, як показано нижче:
Через ділову конфігурацію та перевірку, розробники можуть забезпечити, що універсальні посилання покращують користувацький досвід, зберігаючи стандарти безпеки та конфіденційності.
Посилання
Last updated