Лучший подход для безопасного поддержания конфигурации - PullRequest
0 голосов
/ 02 сентября 2018

Обзор:

У меня есть проект iOS , который содержит конфигурации сервера в Plist . У меня разные списки для разных целей (Dev / Stage и т. Д.)

Проблема:

Этот plist копируется в основной пакет, поэтому я чувствую, что он не настолько безопасен, как его можно получить из файла ipa. Я бы хотел, чтобы он не был доступен.

Вопрос:

  • Каков наилучший подход для поддержания конфигурации сервера для различных целей?
  • Можно ли использовать списки, если так, как сделать их недоступными через файл ipa и все же быть читаемыми с помощью кода?
  • Есть ли лучший подход для решения этой проблемы?

1 Ответ

0 голосов
/ 04 сентября 2018

Вы можете избежать использования списков путем жесткого кодирования конфигурации. Таким образом, он компилируется в приложение и не легко доступен через файл ipa. Это не совсем безопасно, но менее доступно, чем plist.

Создать файл MyConfigDev.swift

// this file is added to the Dev target
class Config {
    private init() {}
    static let shared = Config()
    let myParam = "valueForDev"
}

И еще один файл MyConfigStaging.swift

// this file is added to the Staging target
class Config {
    private init() {}
    static let shared = Config()
    let myParam = "valueForStaging"
}

Если вы создаете цель Dev, используется файл MyConfigDev.swift, если вы создаете промежуточную цель, используется файл MyConfigStaging.swift.

В вашем коде вы можете получить доступ к конфигурации:

let p = Config.shared.myParam

Чтобы получить доступ к вашей конфигурации, хакерам теперь нужно будет декомпилировать ваш ipa.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...