ප්‍රවාහන ආරක්ෂාව මගින් පැහැදිලි පෙළක් HTTP අවහිර කර ඇත


1459

info.plistපහත දැක්වෙන දෝෂ පණිවිඩයට අනුව HTTP ප්‍රකාරය සක්‍රිය කිරීම සඳහා මා තැබිය යුතු සැකසුම කුමක්ද?

HTTP (http: //) සම්පත් බර අනාරක්ෂිත බැවින් ප්‍රවාහන ආරක්ෂාව අවහිර කර ඇත. ඔබගේ යෙදුමේ Info.plist ගොනුව හරහා තාවකාලික ව්‍යතිරේක වින්‍යාසගත කළ හැකිය.

Xcode

මගේ වසම යැයි උපකල්පනය කරන්න example.com.



17
උපපරිපාලක සටහන : මෙම ප්‍රශ්නයට දැනටමත් පිළිතුරු 36 ක් ඇත. තවත් එකක් එකතු කිරීමට පෙර , කරුණාකර ඔබේ විසඳුම අලුත් බවට වග බලා ගන්න .
මැට්

5
සටහන: මෙහි ඇති විසඳුම් මඟින් ඔබ ATS අක්‍රිය කළ යුතු බව යෝජනා කරයි ( Allow arbitary loads). සිට ඉක්මනින් මෙම හැකි වනු ඇත ඇපල් අඩන්ගු අවශ්ය වනු ඇත - (- අවසාන දිනය දීර්ඝ කර ඇත වසරේ මුලින් අවසන්) developer.apple.com/news/?id=12212016b
Jakub Truhlář


Ee ජීෆ් ඔබ iOS 10 ටැගය එකතු කළේ ඇයි? එම කාරණයේදී iOS 10 හි අමතර වෙනස්කම් තිබේද? එය iOS9 හි හඳුන්වා දී ඇති බවත් iOS අනුවාදය අනුව එම ටැගය ප්‍රමාණවත් විය යුතු බවත් මට හැඟේ
ජූලියන් ක්‍රෝල්

Answers:


480

ඔබ Xcode 8.0+ සහ Swift 2.2+ හෝ අරමුණු C භාවිතා කරන්නේ නම්:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>example.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>

29
ඇයි ඇත NSAllowsArbitraryLoadsසකසා true? ඔබ ATS හි අරමුණ යටපත් කරයි. ලෝකයේ වඩාත්ම භයානක කේතයද බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . ඔබේ මෘදුකාංගය දැන් ලැයිස්තුව සකස් කළේය.
jww

6
postjww මෙම තනතුරේ අරමුණ මෙයයි. ශ්රව්ය උපකරණ වාදනය කිරීමට මට සම්බන්ධ වීමට අවශ්‍ය වෙබ් අඩවිය තවමත් HTTPS භාවිතා නොකරන අතර මම බලා සිටීමට උත්සාහ නොකරමි.
ThinkDigital

5
මෙය iOS 10.0+ හෝ MacOS 10.12+ හි ක්‍රියා නොකරනු ඇත. ඇත්ත වශයෙන්ම එය සඳහන් කර ඇති ඒවා හැර අනෙක් අත්තනෝමතික පැටවීම් වලට ඉඩ දෙන ලෙස පවසයි (example.com). මේ අනුව එය අපේක්ෂිත දෙය ආපසු හැරවීම සිදු කරයි. NSAllowsArbirtraryLoads මෙහි අසත්‍ය ලෙස සැකසිය යුතුය. වැඩි විස්තර: ඇපල් ලියකියවිලි
ෆ්‍රීක් සැන්ඩර්ස්

1
එකඟ වන්න, මිහිපිට සිටින සෑම කෙනෙක්ම මෙය ඉහළට ඔසවා තබන්නේ ඇයි? ඔබ ව්‍යතිරේක වසමක් සකසන්නේ නම් NSAllowsArbitraryLoads භාවිතා කිරීමෙන් පලක් නැත.
thibaut noah

1
NSAllowsArbitraryLoads සත්‍ය වීමට අවශ්‍ය නැත, එබැවින් එය ඉවත් කළ යුතුය. NSExceptionDomains ප්‍රමාණවත් වන අතර එමඟින් එම වසමට පමණක් අනාරක්ෂිත සම්බන්ධතාවයක් ලබා ගත හැකිය. NSAllowsArbitraryLoads = true මඟින් ඕනෑම වසමකට අනාරක්ෂිත සම්බන්ධතාවයක් ලබා ගත හැකි වන අතර එය තවමත් සත්‍ය ලෙස සැකසීමෙන් NSExceptionDomains විකාරයක් වන අතර එය දැනටමත් සියලුම වසම් ඇතුළත් කර ඇත
mister_giga

952

NSAppTransportSecurity භාවිතා කරන්න:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඔබ කැප කිරීමට සිදු NSAllowsArbitraryLoads සඳහා ප්රධාන ඔව් යටතේ NSAppTransportSecurity ඔබගේ info.plist ගොනුවේ ශබ්ද කෝෂය.

ලැයිස්තු වින්‍යාසය


159
එය දැන ගැනීමට ඉඩ දෙන්න: මෙය වැඩකාරියක්! ඔබ HTTPS හරහා HTTP භාවිතා කරන ඕනෑම වේලාවක ඔබ ඔබේ පරිශීලකයාගේ උපාංග (උපාංග) අනාරක්ෂිතභාවයට විවෘත කරයි. බොහෝ අවස්ථාවන්හි එය කළ නොහැක්කක් බව සහතිකයි නමුත් ආචාර ධර්ම වැඩසටහන්කරණය හොඳම පුහුණුවයි. කියන්න ... - - වැඩ සඳහා +1 (පරීක්ෂණ කටයුතු සඳහා)
ජැක්සන්කර්

36
මෙය විසඳුමක් නොවේ - මෙය හැක්! තනි වසම් "ව්‍යතිරේක" එක් කිරීමට මෙම පිළිතුර පහත බලන්න: stackoverflow.com/a/32560433/1103584
DiscDev

17
මෙම විසඳුම අවදානමට ලක්විය හැකි බව දන්නා අතර, සංවර්ධනයේදී මම නිර්දේශ කරන එකම විසඳුම එයයි . සංවර්ධනයේදී සෑම නිශ්චිත වසමක්ම ටයිප් කිරීම මෝඩ වැඩකි (විශේෂයෙන් ඔබ තෙවන පාර්ශවීය වෙබ් සේවාවන් භාවිතා කරන්නේ නම්).
reTs

6
එම යතුරු වල නම දැන් වෙනස් වී ඇත “අත්තනෝමතික
පැටවීම් වලට

11
බොහෝ දෙනෙක් මෙම විසඳුමට විරුද්ධ වන්නේ ඇයි? මෙය නියත වශයෙන්ම කඩුල්ලක් නොවේ! බොහෝ යෙදුම්වල ආරක්‍ෂිත ප්‍රොටෝකෝලය සැමවිටම ඔබගේ පාලනය යටතේ නොමැති සත්‍ය අන්තර්ජාලයට සන්නිවේදනය කිරීමට අවශ්‍ය වේ. උදාහරණයක් ලෙස, SSL සහතිකයක් නොමැති වෙනත් සේවාදායකයන්ගෙන් පින්තූර පෙන්වීමට හැකිවීම ඉතා සාධාරණ බව පෙනේ.
ඔරෙන්

827

දෘශ්‍යමය වශයෙන් සැකසුම් මෙන්න:

Xcode GUI හරහා info.plist හි NSAllowsArbitraryLoads සඳහා දෘශ්‍ය සැකසුම්


10
මට ඒ විකල්පය නැහැ.
පරිශීලක

25
ඔබ ඔබේ Info.plist කෙලින්ම විවෘත කළහොත් ඔබට NSAppTransportSecurity ශබ්දකෝෂය එක් කළ හැකි අතර , ඒ තුළ NSAllowsArbitraryLoads අයිතමය සාදන්න (පහත උමර් ෆාරුක් විසින් සංස්කරණය කරන ලද පිළිතුර බලන්න).
නැවතුම්

3
මෙතනමයි - ව්‍යතිරේක වසම් මා වෙනුවෙන් 7.3 සමඟ ක්‍රියා කළේ නැත.
RegularExpression

4
මෙම විකල්පය නොපවතී - XCode 7.3.1
jameshfisher

3
@ ජොෂ්පින්ටර්ගේ තොරතුරු මා වෙනුවෙන් XCode 8 සමඟ වැඩ කළේය.
මැතිව්

720

සංසදය බලන්න යෙදුම් ප්‍රවාහන ආරක්ෂාව? .

IOS 9 සහ OSX 10.11 හි යෙදුම් ප්‍රවාහන ආරක්ෂක ව්‍යතිරේක වින්‍යාස කිරීමේ පිටුව .

උදාහරණයක් ලෙස, ඔබට වැනි විශේෂිත වසමක් එක් කළ හැකිය:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>example.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>

කම්මැලි විකල්පය:

<key>NSAppTransportSecurity</key>
<dict>
  <!--Include to allow all connections (DANGER)-->
  <key>NSAllowsArbitraryLoads</key>
      <true/>
</dict>

සටහන:

info.plist XML ගොනුවක් වන බැවින් ඔබට මෙම කේතය ගොනුවේ ඕනෑම තැනක වැඩි හෝ අඩු වශයෙන් තැබිය හැකිය.


1
මා එය කරන්නේ කෙසේද, මම අදහස් කළේ මෙම කේතය Info.plist වෙත එක් කළ හැකි ආකාරය කුමක්ද?
lmiguelvargasf

2
mlmiguelvargasf ඔබේ info.plist සරල පෙළ සංස්කාරකයකින් විවෘත කරන්න
ඩෑන් බියුලියු

7
මට තවමත් දෝෂය තිබේ: ව්‍යතිරේක වසම සකසා ඇති අතර NSAllowsArbitraryLoads අසත්‍යය. NSAllowsArbitraryLoads සත්‍ය ලෙස සකසා තිබියදීත් දෝෂය පෙන්වයි. මෙහි වෙනත් කිසිවෙකුට මෙම ගැටලුව තිබේද?
klaevv

3
1/30/2016 ඇපල් ලේඛය සංදර්ශන ලෙස යතුරු තවදුරටත් තාවකාලික වචනය ඔවුන් තුළ, උදා: ඇති බව: NSExceptionAllowsInsecureHTTPLoads NSExceptionMinimumTLSVersion බලන්න developer.apple.com/library/prerelease/ios/documentation/...
පිලිප් Monnet

3
Info.plist වෙත මෙම සරල වෙනස්කම් සිදු කිරීම නිසා වෙනත් අයෙකු ඔවුන්ගේ කොණ්ඩය අදින්නේ නම් .. ව්‍යාපෘති> ඉලක්කය> තොරතුරු> අභිරුචි iOS ඉලක්ක ගුණාංග
බ්ලූගුයි

332

මෙය අත්හදා බැලූ අතර iOS 9 GM බීජ මත වැඩ කරමින් සිටියේය - HTTPS වෙනුවට නිශ්චිත වසමකට HTTP භාවිතා කිරීමට ඉඩ දෙන වින්‍යාසය මෙයයි:

<key>NSAppTransportSecurity</key>
<dict>
      <key>NSAllowsArbitraryLoads</key> 
      <false/>
       <key>NSExceptionDomains</key>
       <dict>
            <key>example.com</key> <!--Include your domain at this line -->
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSTemporaryExceptionMinimumTLSVersion</key>
                <string>TLSv1.1</string>
            </dict>
       </dict>
</dict>

NSAllowsArbitraryLoadsවිය යුතුය false, මන්ද එය සියලු අනාරක්ෂිත සම්බන්ධතා වලට ඉඩ නොදේ, නමුත් ව්‍යතිරේක ලැයිස්තුව HTTPS නොමැතිව සමහර වසම් වලට සම්බන්ධ වීමට ඉඩ දෙයි .


7
මෙය පිළිතුර ලෙස සලකුණු කළ යුතුය. "කම්මැලි" මාර්ගය නොගෙන ඔබේ යෙදුම සම්පූර්ණයෙන්ම විවෘත නොකර නිශ්චිත වසමක් http භාවිතා කිරීමට ඉඩ දීම සඳහා iOS 9 GM බීජ පරීක්ෂා කර වැඩ කරයි.
DiscDev

2
මෙය මගේ info.plist වෙත එකතු කරන්නේ කෙසේද?
JMStudios.jrichardson

8
හරි, මම එම තොරතුරු මගේ info.plist වෙත එක් කළ අතර, මම තවමත් මෙම දෝෂය ලබාගෙන සිටිමි - "යෙදුම් ප්‍රවාහන ආරක්ෂාව මඟින් HTTP (http: //) සම්පත් පැටවීම අනාරක්ෂිත බැවින් අවහිර කර ඇත. තාවකාලික ව්‍යතිරේක ඔබගේ යෙදුමේ තොරතුරු හරහා වින්‍යාසගත කළ හැකිය. .plist ගොනුව. "
KMC

2
OmanRomanShapovalov ඔබ IP ලිපිනයක් භාවිතා කළ යුතු නම්, IP ලිපිනයේ අවසානයට .xip.io එක් කිරීමට උත්සාහ කර ඔබේ NSExceptionDomains වෙත xip.io එක් කරන්න. Xip.io බලන්න . සංවර්ධනය කිරීමේදී මම කෙලින්ම IP සමඟ සම්බන්ධ වෙමි (නමුත් මුදා හරිනු නොලැබේ) මෙය මට ඉතා හොඳය.
tpankake

3
මගේ පරීක්ෂණ ව්‍යාපෘතියේ වැරදි තොරතුරු.ප්ලිස්ට් එකට දමා ඇති බව මට වැටහෙන තුරු මා වෙනුවෙන් වැඩ කළේ නැත. ඔබ එය නිවැරදිව තැබීමට වග බලා ගන්න!
චකී

145

මෙය ක්‍ෂේත්‍රයට එක් කිරීම සඳහා ඉක්මන් ක්‍රියාමාර්ගයකි (නමුත් නිර්දේශ නොකරයි):

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

එහි තේරුම ( ඇපල්ගේ ලියකියවිලි අනුව ):

NSAllowsArbitraryLoads
NSExceptionDomains ශබ්ද කෝෂයේ ලැයිස්තුගත කර නොමැති ඕනෑම වසම් සඳහා යෙදුම් ප්‍රවාහන ආරක්ෂාව අක්‍රීය කිරීමට භාවිතා කරන බූලියන් අගය. ලැයිස්තුගත වසම් එම වසම සඳහා නිශ්චිතව දක්වා ඇති සැකසුම් භාවිතා කරයි.

NO හි පෙරනිමි අගයට සියලු සම්බන්ධතා සඳහා පෙරනිමි යෙදුම් ප්‍රවාහන ආරක්ෂක හැසිරීම අවශ්‍ය වේ.

මම සැබවින්ම සබැඳි නිර්දේශ කරමි:

එය හේතු සහ සියලු ඇඟවුම් තේරුම් ගැනීමට මට උපකාරී වේ.

පහත XML (Info.plist ගොනුවේ) පහත පරිදි වේ:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>PAGE_FOR_WHICH_SETTINGS_YOU_WANT_TO_OVERRIDE</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

සියලුම පිටු සඳහා අත්තනෝමතික ඇමතුම් වලට PAGE_FOR_WHICH_SETTINGS_YOU_WANT_TO_OVERRIDEඉඩ නොදෙන්න , නමුත් ඒ සඳහා HTTP ප්‍රොටෝකෝලය භාවිතා කිරීමට ඉඩ ලබා දේ.

ඉහත XML වෙත ඔබට එකතු කළ හැකිය:

<key>NSIncludesSubdomains</key>
<true/>

නිශ්චිත ලිපිනයේ උප ඩොමේන් සඳහා අනාරක්ෂිත සම්බන්ධතා වලට ඉඩ දීමට ඔබට අවශ්‍ය නම්.

හොඳම ප්‍රවේශය නම්, සියලු අත්තනෝමතික පැටවීම් අවහිර කිරීම (අසත්‍ය ලෙස සකසා තිබීම) සහ අප දන්නා ලිපිනයන් පමණක් හොඳ යැයි පැවසීමට ඉඩ දීම සඳහා ව්‍යතිරේක එකතු කිරීමයි.

උනන්දුවක් දක්වන පා .කයින් සඳහා

2018 යාවත්කාලීන කිරීම:

ඇපල් විසින් මෙය ක්‍රියා විරහිත කිරීම නිර්දේශ නොකරයි - වැඩි විස්තර 207 සැසියේදී WWDC 2018 හි සොයා ගත හැකිය ආරක්ෂාව සම්බන්ධයෙන් වැඩි විස්තර සහිතව

Answer තිහාසික හේතු සහ සංවර්ධන අවධිය සඳහා මුල් පිළිතුර අත්හැරීම


1
NSAllowsArbitraryLoadsවිය යුතුයfalse
සවුන්ඩ් බ්ලාස්ටර්

OundSoundBlaster ඡන්දය ප්‍රකාශ කිරීම සඳහා වූ මගේ පිළිතුරේ කුමන අවස්ථාව සහ ඔබ වැරදියිද?
ජූලියන් ක්‍රෝල්

(NSAppTransportSecurity NSAllowsArbitraryLoads) එකතු කිරීමෙන්, එක් වෙබ් සේවාවක් හැර අනෙක් සියලුම වෙබ් සේවා හොඳින් ක්‍රියාත්මක වන අතර එක් වෙබ් සේවාවක් iOS 9 හි අභ්‍යන්තර සේවාදායක දෝෂයක් (500) ලබා දෙයි, නමුත් iOS8 හෝ ඊට පසුව හොඳින් ක්‍රියා කරයි
ampt gupta

OundSoundBlaster වෙනසක් කළා, දැන් ඔබට විරෝධතා නොතිබිය යුතුයි :)
ජූලියන් ක්‍රෝල්

ස්තූතියි, ඔබ සැබවින්ම එකතු කරන්නේ <key>NSIncludesSubdomains</key> <true/>කෙසේද? සෑම පසුබිමක්ම වට කළ <dict>යුතුද? ඔබ කොහොමද මේ ගොනුව සංස්කරණය කරන්නේ? හැඩතල ගැන්වීම කුමක්ද? : D ස්තූතියි.
නියෝජිත සෙබ්‍රා

116

මෙය සිදුවන්නේ ඇයිද යන්න පිළිබඳ වැඩි සන්දර්භයක් ඔබට අවශ්‍ය අය සඳහා, එය නිවැරදි කරන්නේ කෙසේද යන්නට අමතරව, පහත කියවන්න.

IOS 9 හඳුන්වාදීමත් සමඟ, යෙදුමක් සහ වෙබ් සේවා අතර සම්බන්ධතාවල ආරක්ෂාව වැඩි දියුණු කිරීම සඳහා, යෙදුමක් සහ එහි වෙබ් සේවාව අතර ආරක්ෂිත සම්බන්ධතා හොඳම භාවිතයන් අනුගමනය කළ යුතුය . යෙදුම් ප්‍රවාහන ආරක්ෂාව මඟින් හොඳම භාවිතයන් හැසිරීම බලාත්මක කරන්නේ :

  • අහම්බෙන් අනාවරණය වීම වැළැක්වීම සහ
  • ආරක්ෂිත පෙරනිමි හැසිරීමක් සපයන්න.

යෙදුම් ප්‍රවාහන ආරක්ෂක තාක්‍ෂණයේ විස්තර කර ඇති පරිදි , ඔබේ වෙබ් සේවාව සමඟ සන්නිවේදනය කිරීමේදී, යෙදුම් ප්‍රවාහන ආරක්ෂාවට දැන් පහත සඳහන් අවශ්‍යතා සහ හැසිරීම් ඇත:

  • සේවාදායකයා අවම වශයෙන් ප්‍රවාහන ස්ථර ආරක්ෂාව (TLS) ප්‍රොටෝකෝලය 1.2 අනුවාදයට සහාය දිය යුතුය.
  • සම්බන්ධතා කේතාංකයන් ඉදිරි රහස්‍යභාවය සපයන අයට පමණක් සීමා වේ (පහත කේතාංක ලැයිස්තුව බලන්න.)
  • 2048 බිට් හෝ ඊට වැඩි ආර්එස්ඒ යතුරක් හෝ බිට් 256 හෝ ඊට වැඩි එලිප්ටික්-කර්ව් (ඊසීසී) යතුරක් සහිතව SHA256 හෝ ඊට වඩා හොඳ අත්සන හැෂ් ඇල්ගොරිතමයක් භාවිතා කරමින් සහතික අත්සන් කළ යුතුය.
  • වලංගු නොවන සහතිකවල ප්‍රති result ලයක් ලෙස අසමත් වන අතර සම්බන්ධයක් නොමැත.

වෙනත් වචන වලින් කිවහොත්, ඔබේ වෙබ් සේවා ඉල්ලීම පහත පරිදි විය යුතුය: අ.) HTTPS භාවිතා කරන්න සහ ආ.) ඉදිරි රහස්‍යතාවයෙන් TLS v1.2 භාවිතයෙන් සංකේතනය කළ යුතුය.

කෙසේ වෙතත්, වෙනත් පෝස්ට් වල සඳහන් කර ඇති පරිදි Info.plist, ඔබගේ යෙදුමේ අනාරක්ෂිත වසම සඳහන් කිරීමෙන් ඔබට මෙම නව හැසිරීම යෙදුම් ප්‍රවාහන ආරක්ෂාවෙන් අභිබවා යා හැකිය .


අභිබවා යාමට, ඔබට NSAppTransportSecurity> NSExceptionDomainsශබ්දකෝෂ ගුණාංග ඔබේ එකතු කිරීමට අවශ්‍ය වනු ඇත Info.plist. ඊළඟට, ඔබ ඔබේ වෙබ් සේවාවේ වසම NSExceptionDomainsශබ්ද කෝෂයට එක් කරනු ඇත.

උදාහරණයක් ලෙස, www.yourwebservicehost.com හි සත්කාරක වෙබ් සේවාවක් සඳහා යෙදුම් ප්‍රවාහන ආරක්ෂක හැසිරීම මග හැරීමට මට අවශ්‍ය නම් මම පහත සඳහන් දේ කරන්නෙමි:

  1. ඔබගේ යෙදුම Xcode වලින් විවෘත කරන්න.

  2. සොයා Info.plistව්යාපෘතිය Navigator ගොනුව සහ "දකුණු මූසික" එය මත ක්ලික් කරන්න සහ තෝරා විවෘත ලෙස > මූලාශ්රය සංග්රහයේ මෙනු විකල්පය. දේපල ලැයිස්තු ගොනුව දකුණු කවුළුවෙහි දිස්වනු ඇත.

  3. ප්‍රධාන ගුණාංග ශබ්ද කෝෂයේ (පළමු යටතේ <dict>) පහත ගුණාංග අවහිර කරන්න .


<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>www.example.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>

ඔබට අතිරේක වසම් සඳහා ව්‍යතිරේක ලබා දීමට අවශ්‍ය නම් ඔබ පහත තවත් ශබ්ද කෝෂ දේපලක් එක් කරනු ඇත NSExceptionDomains.

ඉහත සඳහන් කර ඇති යතුරු ගැන වැඩි විස්තර දැනගැනීම සඳහා, දැනටමත් සඳහන් කර ඇති මෙම තාක්‍ෂණය කියවන්න .


1
මෙය මගේ යෙදුම් 2 ක වැඩ කළ නමුත් එය 3 වන එකක ක්‍රියා නොකරයි. ඉහත නිවැරදි කිරීම භාවිතා කර වෙනත් අයෙකුට එම දෝෂ පණිවිඩය ලබා ගැනීමේ තත්වයක් වෙනත් අයෙකුට තිබේද? (ඔව්, මම මගේ API වසම භාවිතා කිරීමට ශබ්ද කෝෂය යාවත්කාලීන කළෙමි, කේතයේ එකක් නොවේ)
helloB

හොඳම ! ඇපල් විසින් මෙම විසඳුම භාවිතා කරන බව සනාථ කරයි
YannSteph

මෙය Cordova / Phonegap / Ionic යෙදුම් සංස්කරණ ගොනුවක් ./platforms/ios/<project>/<project>-Info.plistසඳහා NSAllowsArbitraryLoads=falseසහ විවිධ TLS / HTTP / HTTPS සංයෝජන සහිත සේවාවන් සඳහා බොහෝ ව්‍යතිරේක වසම් සඳහා ක්‍රියා කළේය. මුලදී භාවිතා කරන ලද NSAllowsArbitraryLoads=trueපසුව සකස් කරන ලද, මාර්ගෝපදේශවලට අනුකූල වීම සහ අනුමැතිය සඳහා ඉදිරිපත් කිරීම සඳහා අත්හදා බැලීම් සහ දෝෂයන් හරහා නීති රීති නිරාකරණය කිරීම. සටහන් config.xml <access origin=.../>ප්‍රකාශයන් මෙම ගොනුව අර්ධ වශයෙන් ජනනය කරයි, නමුත් විස්තර නිවැරදිව ලබා ගැනීම සඳහා සෘජු සංස්කරණයෙන් හෝ XCode හරහා ගැලපීම් අවශ්‍ය වේ.
ජිමොන්ට්

එසේම <access origin="*"/>(config.xml) කට්ටල NSAllowsArbitraryLoads=true(Cordova / Phonegap / දෙමුහුන් යෙදුම් සඳහා
jimmont

ඇයි ඇත NSExceptionAllowsInsecureHTTPLoadsසකසා true? ඔබ ATS හි අරමුණ යටපත් කරයි. ලෝකයේ වඩාත්ම භයානක කේතයද බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . ඔබේ මෘදුකාංගය දැන් ලැයිස්තුව සකස් කළේය.
jww

67

මම කෙලින්ම සංස්කරණය කිරීමට කැමති නැත. GUI භාවිතයෙන් ඔබට එය පහසුවෙන් ප්ලස් එකට එකතු කළ හැකිය:

  • වම්පස ඇති Navigator හි Info.plist මත ක්ලික් කරන්න.
  • දැන් ප්‍රධාන ප්‍රදේශයේ දත්ත වෙනස් කරන්න:

    • අන්තිම පේළියේ + එකතු කරන්න
    • කණ්ඩායමේ නම ඇතුළත් කරන්න: යෙදුම් ප්‍රවාහන ආරක්ෂක සැකසුම්
    • කණ්ඩායම මත දකුණු ක්ලික් කර තෝරන්න Add Row
    • ඇතුලත් කරන්න අහඹු පටවනු ඉඩ දෙන්න
    • දකුණට ඇති අගය ඔව් ලෙස සකසන්න

උදාහරණයක්


පැහැදිලි කිරීම සඳහා: "අත්තනෝමතික පැටවීම් වලට ඉඩ දෙන්න" ඔව් සහ "ව්‍යතිරේක වසම්" තිබේ නම්, අවසර දී ඇති බර ව්‍යතිරේක වසම්වල ඇති ඒවාට පමණක් සීමා වේ. ඒක හරිද?

මට යෙදුම මුදා හැරීමට අවශ්‍ය නම් එය කිරීමට ආරක්ෂිත ක්‍රමයක්ද?
ලැමෝර්

නැත. අත්තනෝමතික පැටවීම් වලට ඉඩ දීමෙන්, ඔබගේ යෙදුමට ඕනෑම වසමකට නිදහසේ සම්බන්ධ විය හැකිය. ආරක්ෂක දෘෂ්ටි කෝණයෙන්, අනපේක්ෂිත ජාල භාවිතය වළක්වා ගැනීම සඳහා යෙදුම සම්බන්ධ විය යුතු වසම / වෙබ් අඩවිය පාලනය කිරීම සහ සීමා කිරීම කළ යුතුය.
රැප්ටර්

බොහෝ යෙදුම් ගමන් කරන්නේ දන්නා සේවාදායකයන් වෙත පමණි. මෙය සංවර්ධකයා විසින් පාලනය කරනු ලැබේ. එබැවින් ආරක්ෂක ගැටළු දනී.
වින්සන්ට්

ඇයි ඇත NSAllowsArbitraryLoadsසකසා YES? ඔබ ATS හි අරමුණ යටපත් කරයි. ලෝකයේ වඩාත්ම භයානක කේතයද බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . ඔබේ මෘදුකාංගය දැන් ලැයිස්තුව සකස් කළේය.
jww

26

ඇපල් ලේඛනය 1

ඇපල් ලේඛනය 2

මේ සඳහා විසඳුම් දෙකක් තිබේ:

විසඳුම් 1:

  1. දී Info.plistගොනුව 'යතුර සමඟ ශබ්ද කෝෂය එකතු NSAppTransportSecurity'
  2. යතුර සමඟ ශබ්දකෝෂය තුළ තවත් අංගයක් එක් කරන්න 'Allow Arbitrary Loads'

Plist පහත රූපයේ දැක්වෙන පරිදි ව්‍යුහය දිස්විය යුතුය.

විසඳුම 1

විසඳුම 2:

  1. දී Info.plistගොනුව 'යතුර සමඟ ශබ්ද කෝෂය එකතු NSAppTransportSecurity'
  2. 'යතුර සමඟ ශබ්ද කෝෂය තුළ තවත් අංගයක් එකතු කරන්න NSExceptionDomains'
  3. 'MyDomainName.com'NSDictionary වර්ගයේ යතුර සමඟ මූලද්‍රව්‍යය එක් කරන්න
  4. NSIncludesSubdomainsවර්ගය Booleanසහ අගය ලෙස යතුර සහිත මූලද්‍රව්‍යය එක් කරන්නYES
  5. NSTemporaryExceptionAllowsInsecureHTTPLoadsවර්ගය Booleanසහ අගය ලෙස යතුර සහිත මූලද්‍රව්‍යය එක් කරන්නYES

Plist පහත රූපයේ දැක්වෙන පරිදි ව්‍යුහය දිස්විය යුතුය.

විසඳුම 2

විසඳුම 2 වඩාත් කැමති වන්නේ එය තෝරාගත් වසමට පමණක් ඉඩ දෙන අතර විසඳුම 1 මඟින් සියලු අනාරක්ෂිත HTTP සම්බන්ධතාවයන්ට ඉඩ ලබා දේ.


ඇයි ඇත NSAllowsArbitraryLoadsසකසා YES? ඔබ ATS හි අරමුණ යටපත් කරයි. ලෝකයේ වඩාත්ම භයානක කේතයද බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . ඔබේ මෘදුකාංගය දැන් ලැයිස්තුව සකස් කළේය.
jww

20

ප්‍රවාහන ආරක්ෂාව iOS 9.0 හෝ ඊට පසුව ලබා ගත හැකිය. ඔබගේ යෙදුම තුළ WS ඇමතීමට උත්සාහ කරන විට ඔබට මෙම අනතුරු ඇඟවීම තිබිය හැකිය:

යෙදුම් ප්‍රවාහන ආරක්ෂාව අනාරක්ෂිත බැවින් පැහැදිලි පෙළ HTTP (http: //) සම්පත් බරක් අවහිර කර ඇත. ඔබගේ යෙදුමේ Info.plist ගොනුව හරහා තාවකාලික ව්‍යතිරේක වින්‍යාසගත කළ හැකිය.

ඔබගේ Info.plist වෙත පහත සඳහන් දෑ එකතු කිරීමෙන් ATS අක්‍රීය වනු ඇත:

<key>NSAppTransportSecurity</key>
<dict>
     <key>NSAllowsArbitraryLoads</key><true/>
</dict>

1
NSAllowsArbitraryLoads අසත්‍ය විය යුතුය, සත්‍ය නම් එය සියලු අනාරක්ෂිත සම්බන්ධතාවයට ඉඩ දෙයි
Thiago Arreguy

එක් වෙබ් සේවාවක් හැර අනෙක් සියලුම වෙබ් සේවා දඩ මුදල් එකතු කිරීමෙන් එක් වෙබ් සේවාවක් iOS 9 හි අභ්‍යන්තර සේවාදායක දෝෂයක් (500) ලබා දෙන නමුත් iOS8 හෝ ඊට පසුව හොඳින් ක්‍රියාත්මක වේ
amit gupta

1
ගබඩාවේ පිළිගනු ලැබුවාද?
වර්ෂාබ් ඉර්ඩ්

ඉතා නරක උපදෙස්; ලෝකයේ වඩාත්ම භයානක කේතය බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . දේවල් කිරීමට නිර්දේශිත ක්‍රමයෙන් පිරී තිබේ නම්, “මටත්” මේ වගේ පිළිතුරු අවශ්‍ය නොවේ.
jww

15

සංවර්ධන උදාහරණය

මෙන්න ATS නොවෙනස්ව තබා ගන්නා (= ආරක්ෂිත) ප්ලිස්ට් එකක තිර රුවක්, නමුත් HTTPS වෙනුවට localhost වෙත සම්බන්ධතා HTTP හරහා කළ හැකිය . එය Xcode 7.1.1 හි ක්‍රියා කරයි.

රූප විස්තරය මෙහි ඇතුළත් කරන්න


පෙරනිමි NSExceptionAllowsInsecureHTTPLoads - YESවින්‍යාසය භාවිතා කිරීමට අපට අවශ්‍ය නොවන පරිදි, ප්‍රතික්‍රියා-ස්වදේශික වශයෙන්, දේශීය හොස්ට් සුරක්ෂිත කිරීමට ක්‍රම තිබේද?
milkersarac

13

ඔබගේ Info.plist වෙත යන්න

  1. හිස් අවකාශය මත රයිට් ක්ලික් කර Add Row මත ක්ලික් කරන්න
  2. යතුරු නාමය NSAppTransportSecurity ලෙස ලියන්න, ඒ යටතේ
  3. ව්‍යතිරේක වසම් තෝරන්න, මේ සඳහා නව අයිතමයක් එක් කරන්න
  4. ප්‍රවේශ වීමට අවශ්‍ය ඔබගේ ඩොමේන් නාමය ලියන්න
  5. වසමේ සිට ශබ්ද කෝෂයට වසම් වර්ගය වෙනස් කරන්න, නව අයිතමයක් එක් කරන්න
  6. NSTemporaryExceptionAllowsInsecureHTTPLoads, එය සත්‍ය වටිනාකමක් ඇති බූලියන් එකක් වනු ඇත. එය නිවැරදිව අනුගමනය කිරීමට පින්තූරය දෙස බලන්න

1
ඇයි ඇත NSAllowsArbitraryLoadsසකසා true? ඔබ ATS හි අරමුණ යටපත් කරයි. ලෝකයේ වඩාත්ම භයානක කේතයද බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . ඔබේ මෘදුකාංගය දැන් ලැයිස්තුව සකස් කළේය.
jww

13

ඇපල් සමාගමට අනුව, සාමාන්‍යයෙන් ATS අක්‍රීය කිරීම යෙදුම් ප්‍රතික්ෂේප කිරීමට හේතු වනු ඇත, එසේ කිරීමට ඔබට හොඳ හේතුවක් නොමැති නම්. එසේ වුවද, ඔබට ආරක්ෂිතව ප්‍රවේශ විය හැකි වසම් සඳහා ව්‍යතිරේක එකතු කළ යුතුය.

ඇපල් සතුව විශිෂ්ට මෙවලමක් ඇත, එය භාවිතා කළ යුතු සැකසුම් හරියටම ඔබට කියයි: ටර්මිනලයේ, ඇතුල් කරන්න

/usr/bin/nscurl --ats-diagnostics --verbose https://www.example.com/whatever

සහ nscurl විසින් මෙම ඉල්ලීම අසමත් දැයි පරීක්ෂා කර, පසුව විවිධ සැකසුම් උත්සාහ කර, කුමන එකක් සමත් වේද, කුමක් කළ යුතු දැයි ඔබට කියනු ඇත. උදාහරණයක් ලෙස, මා පිවිසෙන සමහර තෙවන පාර්ශවීය URL සඳහා, මෙම විධානය මට පැවසුවේ මෙම ශබ්ද කෝෂය සමත් වන බවයි:

{
    NSExceptionDomains = {
        "www.example.com" = {
            NSExceptionRequiresForwardSecrecy = false;
        };
    };
}

ඔබගේ පාලනයෙන් බැහැර වූ ඔබේම වෙබ් අඩවි සහ තෙවන පාර්ශවීය අඩවි අතර වෙනස හඳුනා ගැනීමට, උදාහරණයක් ලෙස, NSThirdPartyExceptionRequiresForwardSecrecy යතුර භාවිතා කරන්න.


1
යෙදුම සමඟ සත්‍ය වශයෙන්ම පරීක්ෂා කිරීමට පෙර පරීක්ෂා කිරීමට එහි විශිෂ්ට මෙවලම. කාලය ඉතිරි කරන්න. නමුත් මෙම විධානයේ ප්‍රති put ලය තේරුම් ගැනීමට කියවිය හැකි ඕනෑම සම්පතක්.
damithH

1
සිත්ගන්නා මෙවලම. මගේ කාරණයේදී එය දේවල් ඉක්මවා යයි. එය ඇතුළුව යතුරු තුනක් ලැයිස්තුගත කර ඇත NSExceptionAllowsInsecureHTTPLoads = true;, නමුත් එය අවශ්‍ය නොවන බව පෙනේ.
ක්‍රිස් ප්‍රින්ස්


10

සටහන: ඔබේ ලැයිස්තුවේ ව්‍යතිරේක වසම LOWER-CASE විය යුතුය.

උදාහරණය: සැකසීම්-> බෙදාගැනීම යටතේ ඔබ ඔබේ යන්ත්‍රයට "MyAwesomeMacbook" ලෙස නම් කර ඇත; ඔබගේ සේවාදායකය (පරීක්ෂණ අරමුණු සඳහා) MyAwesomeMacbook.local: 3000 හි ක්‍රියාත්මක වන අතර, ඔබේ යෙදුමට http: //MyAwesomeMacbook.local: 3000 / ගොනු වෙත ඉල්ලීමක් යැවිය යුතුය ... දේශීය "ව්‍යතිරේක වසම ලෙස.

-

ඔබේ info.plist හි අඩංගු වේ ...

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>myawesomemacbook.local</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSExceptionAllowsInsecureHTTPLoads</key>
      <true/>
    </dict>
  </dict>
</dict>

9

භාවිත:

වඩා හොඳින් තේරුම් ගැනීමට තිර රුවක් යොදන්න

ශබ්ද කෝෂයේ ඇති ගොනුවේ NSAppTransportSecurity නම් නව අයිතමයක් එක් කරන්න , ඉන්පසු බූලියන් වර්ගයේ ශබ්ද කෝෂයේ NSAllowsArbitraryLoads උප අයිතමය එකතු කර බූල් අගය ඔව් ලෙස සකසන්න . මෙය මට වැඩ කරයි.


1
NSAllowsArbitraryLoads අසත්‍ය විය යුතුය, සත්‍ය නම් එය සියලු අනාරක්ෂිත සම්බන්ධතාවයට ඉඩ දෙයි
Thiago Arreguy

එක් වෙබ් සේවාවක් හැර එක් වෙබ් සේවා ප්‍රතිලාභයක් හැර අනෙකුත් සියලුම වෙබ් සේවා හොඳින් ක්‍රියාත්මක වේ iOS 9 හි අභ්‍යන්තර සේවාදායක දෝෂයක් (500) ලබා දෙන නමුත් iOS8 හෝ ඊට පසුව හොඳින් ක්‍රියාත්මක වේ hThiagoArreguy
amit gupta

ඉතා නරක උපදෙස්; ලෝකයේ වඩාත්ම භයානක කේතය බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . දේවල් කිරීමට නිර්දේශිත ක්‍රමයෙන් පිරී තිබේ නම්, “මටත්” මේ වගේ පිළිතුරු අවශ්‍ය නොවේ.
jww

එහි නරක උපදෙස් මම දනිමි, නමුත් එය සංවර්ධන මාදිලියේ දැනට පවතින විසඳුම සඳහා පමණි. ඇපල් අපට නම්‍යශීලී බවක් ලබා දී ඇත, එය එතරම් නරක නම්, ඔවුන් මේ සඳහා ඉඩ නොදේ.
තේජින්දර්

9

2015-09-25 දින (2015-09-18 Xcode යාවත්කාලීන කිරීමෙන් පසුව):

මම කම්මැලි නොවන ක්‍රමයක් භාවිතා කළ නමුත් එය ක්‍රියාත්මක වූයේ නැත. පහත දැක්වෙන්නේ මගේ උත්සාහයයි.

පලමු,

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>www.xxx.yyy.zzz</key>
        <dict>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>

දෙවනුව,

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>www.xxx.yyy.zzz</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>

අවසාන වශයෙන්, මම කම්මැලි ක්‍රමය භාවිතා කළෙමි:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

එය ටිකක් අනාරක්ෂිත විය හැකි නමුත් මට වෙනත් විසඳුම් සොයාගත නොහැකි විය.


ඇයි ඇත NSAllowsArbitraryLoadsසකසා true? ඔබ ATS හි අරමුණ යටපත් කරයි. ලෝකයේ වඩාත්ම භයානක කේතයද බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . ඔබේ මෘදුකාංගය දැන් ලැයිස්තුව සකස් කළේය.
jww

9

ස්විෆ්ට් 4 සහ xocde 10 හි අත්තනෝමතික පැටවීම් වලට ඉඩ දීම සඳහා NSAllowsArbitraryLoads වෙනස් කිරීම. එබැවින් එය මේ ආකාරයෙන් වනු ඇත:

<key>App Transport Security Settings</key>
<dict>
     <key>Allow Arbitrary Loads</key><true/>
</dict>

6

එහි යන ආකාරය සඳහන් කිරීම වටී ...

Info.plist යනු Main.storyboard හෝ viewController.swift ට පහළින් ඇති ගොනු වලින් එකකි.

ඔබ පළමු වරට එය මත ක්ලික් කළ විට, එය සාමාන්‍යයෙන් වගු ආකෘතියක ඇත, එබැවින් ගොනුව දකුණු ක්ලික් කර 'මූලාශ්‍ර කේතය' ලෙස විවෘත කර පහත කේතය අවසානය දක්වා එක් කරන්න, එනම්:

 <key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>

කේතය පිටපත් කරන්න

 "</dict>
</plist>"

එය අවසානයේ ය.


ඇයි ඇත NSAllowsArbitraryLoadsසකසා true? ඔබ ATS හි අරමුණ යටපත් කරයි. ලෝකයේ වඩාත්ම භයානක කේතයද බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . ඔබේ මෘදුකාංගය දැන් ලැයිස්තුව සකස් කළේය.
jww

5

Xcode 7.1 සඳහා යාවත්කාලීන කිරීම, ගැටලුවකට මුහුණ දෙමින් 27.10.15:

Info.plist හි නව අගය වන්නේ "යෙදුම් ප්‍රවාහන ආරක්ෂක සැකසුම්" ය. එතැන් සිට මෙම ශබ්ද කෝෂයේ අඩංගු විය යුතුය:

  • අත්තනෝමතික පැටවීම් වලට ඉඩ දෙන්න = ඔව්
  • ව්‍යතිරේක වසම් (ඔබේ http වසම මෙහි ඇතුළත් කරන්න)

4

මෙහි පැමිණි අය සඳහා ඔවුන්ගේ WKWebView සැමවිටම සුදු වී ඇති අතර කිසිවක් පටවන්නේ නැත (හරියටම මෙහි විස්තර කර ඇති පරිදි WKWebView වේගයෙන් හා මැකෝස් යෙදුමක් සඳහා වැඩ කරන්නේ කෙසේද ):

ඉහත සඳහන් සියලුම රොකට් විද්‍යාව ඔබ වෙනුවෙන් ක්‍රියා නොකරන්නේ නම් පැහැදිලිව පරීක්ෂා කරන්න: සෑන්ඩ්බොක්ස් සැකසුම්

සෑන්ඩ්බොක්ස් සැකසුම්]

වේගවත් හා කොකෝවා වලට අළුත් වීම, නමුත් ක්‍රමලේඛනය පිළිබඳ මනා පළපුරුද්දක් ඇති මම මෙම විසඳුම සොයා ගැනීමට පැය 20 ක් පමණ ගත කළෙමි. හිපස්ටර්-අයිඑස්-නිබන්ධන හෝ ඇපල් යතුරු සටහන් දුසිම් එකක්වත් නැත - මෙම කුඩා පිරික්සුම් කොටුව ගැන කිසිවක් සඳහන් නොවේ.


දෙවියනේ, ගොඩාක් ස්තූතියි! ඔබ මට පැය 20 ක සෙවුමම ඉතිරි කළා!
බ්‍රෙෂ්ට් මැකියෙල්ස්

2
ඉලක්කයේ ශක්‍යතා කොටසේ (Xcode 9.4.1) එම කොටස නොපෙනේ
ෂිම්

3

පෙරනිමියෙන්, iOS ඉඩ දෙන්නේ HTTPS API පමණි. HTTP ආරක්ෂිත නොවන බැවින්, ඔබට යෙදුම් ප්‍රවාහන ආරක්ෂාව අක්‍රිය කිරීමට සිදුවේ. ATS අක්‍රීය කිරීමට ක්‍රම දෙකක් තිබේ: -

1. project info.plist හි ප්‍රභව කේතය එකතු කිරීම සහ පහත දැක්වෙන කේතය root tag හි එක් කරන්න.

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

2. ව්‍යාපෘති තොරතුරු භාවිතා කිරීම.

වම් කවුළුවෙහි ව්යාපෘතිය මත ව්යාපෘතිය මත ක්ලික් කරන්න, ව්යාපෘතිය ඉලක්කයක් ලෙස තෝරා තොරතුරු පටිත්ත තෝරන්න. පහත සඳහන් ව්‍යුහයට ඔබ ශබ්ද කෝෂය එක් කළ යුතුය.

රූප විස්තරය මෙහි ඇතුළත් කරන්න



1

NSExceptionDomainsඉලක්කගත වෙබ් අඩවිය නිසා එකවර භාවිතා කිරීම බලපෑමක් ඇති නොකරනු jsඇත බාහිර වසම් වලින් සම්පත් (උදා: ගොනු) පටවනු ඇත http. මෙම බාහිර වසම් වලට එකතු කිරීමෙන් එය විසඳිය හැකියNSExceptionDomains .

කුමන සම්පත් පැටවිය නොහැකිදැයි පරීක්ෂා කිරීම සඳහා දුරස්ථ නිදොස්කරණය භාවිතා කිරීමට උත්සාහ කරන්න. මෙන්න නිබන්ධනයක්: http://geeklearning.io/apache-cordova-and-remote-debugging-on-ios/


0

කෝර්ඩෝවා සඳහා, ඔබට එය ඔබේ ios.json වෙත එක් කිරීමට අවශ්‍ය නම්, පහත සඳහන් දෑ කරන්න:

"NSAppTransportSecurity": [
   {
      "xml": "<dict><key>NSAllowsArbitraryLoads</key><true /></dict>"
   }
]

එය ඇතුළත විය යුතුය:

"*-Info.plist": {
   "parents": {
   }
}

Config.xml හි <access origin = "*" /> ක්‍රියා කළේ නැත. දෙකම අවශ්‍ය දැයි විශ්වාස නැත, නමුත් ios.json විසඳුම මට ගනුදෙනුව මුද්‍රා තැබීය.
zeusstl

ඇයි ඇත NSAllowsArbitraryLoadsසකසා true? ඔබ ATS හි අරමුණ යටපත් කරයි. ලෝකයේ වඩාත්ම භයානක කේතයද බලන්න : බ්‍රව්සර් නොවන මෘදුකාංගවල SSL සහතික වලංගු කිරීම . ඔබේ මෘදුකාංගය දැන් ලැයිස්තුව සකස් කළේය.
jww

-1

බොහෝ දෙනා සඳහන් කර ඇති පරිදි, මෙය iOS 9.0 සමඟ එන විශේෂාංග ගැටළුවකි. ඔවුන් යෙදුම් ප්‍රවාහන ආරක්ෂාව යනුවෙන් දෙයක් එකතු කර ඇති අතර, එය මගේ යෙදුම් බිඳ දැමූ විට මා ද කෝපයට පත් විය.

ඔබගේ .plist ගොනුවේ NSAppTransportSecurity ශබ්දකෝෂය යටතේ ඔබට එය NSAllowsArbitraryLoads යතුර සමඟ බැන්ඩේජ් කළ හැකිය, නමුත් අවසානයේදී ඔබට HTTPS: // උපසර්ගය සැකසීම සඳහා ඔබේ URL සකස් කරන කේතය නැවත ලිවීමට අවශ්‍ය වනු ඇත.

ඇපල් විසින් iOS 9.0 හි NSUrlConnection පන්තිය නැවත ලියා ඇත. NSURLConnection හි ඔබට ඒ ගැන කියවිය හැකිය .

වෙනත් ආකාරයකින්, නිවැරදි විසඳුම ක්‍රියාත්මක කිරීමට ඔබට කාලය ලැබෙන තුරු ඔබට iOS 9.0 වෙතින් ඉවත් වීමට සිදුවනු ඇත.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.