Как заблокировать все HTTP-URL в приложении iOS - PullRequest
0 голосов
/ 05 ноября 2018

Я искал и нашел много ссылок, которые говорят, чтобы заблокировать HTTP и некоторый определенный домен или разрешить определенный домен, используя Transport Security в файле Plist как Безопасность транспорта заблокировала открытый текст HTTP и Безопасность транспорта приложения . Я использовал следующее в моем списке

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
</dict>

Мое приложение использует API и отображает данные в представлениях, в моем приложении есть страница, где я задаю URL-адрес сервера, например https://liveserver.com и http://localserver.com,, но когда я задаю URL http://localserver.com это все еще работает. И он все еще работает со значением true . Пожалуйста, дайте мне совет, как заблокировать все HTTP URL, и приложение будет работать только с HTTPS.

Спасибо

1 Ответ

0 голосов
/ 05 ноября 2018

Попробуйте с:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>domain.com</key>
        <dict>
            <!--Include to allow subdomains-->
            <key>NSIncludesSubdomains</key>
            <true/>
            <!--Include to allow HTTP requests-->
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <!--Include to specify minimum TLS version-->
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
        </dict>
    </dict>
</dict>

Для блокировки всех HTTP попробуйте

<key>NSAppTransportSecurity</key>
  <dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
    <key>NSExceptionDomains</key>
    <dict>
     <key>*</key>
    <dict>
        <key>NSExceptionAllowsInsecureHTTPLoads</key>
        <false/>
    </dict>
  </dict>
 </dict>
...