পরিবহন সুরক্ষা ক্লিয়ারটেক্সট এইচটিটিপি অবরোধ করেছে


1450

info.plistনিম্নলিখিত ত্রুটি বার্তা অনুসারে HTTP মোড সক্ষম করতে আমার কোন সেটিংস লাগাতে হবে ?

এটি নিরাপত্তাহীনতার কারণে পরিবহন সুরক্ষা ক্লিয়ারটেক্সট এইচটিটিপি (http: //) রিসোর্স লোডকে অবরুদ্ধ করেছে। অস্থায়ী ব্যতিক্রমগুলি আপনার অ্যাপের তথ্য.প্লেস্ট ফাইলের মাধ্যমে কনফিগার করা যায়।

xcode

ধরুন যে আমার ডোমেনটি example.com



15
মডারেটর দ্রষ্টব্য : ইতিমধ্যে এই প্রশ্নের 36 টি উত্তর রয়েছে। অন্য যোগ করার আগে , দয়া করে আপনার সমাধানটি নতুন কিনা তা নিশ্চিত করুন ।
ম্যাট

5
দ্রষ্টব্য: সমাধানগুলি এখানে পরামর্শ দেয় যে আপনার এটিএস বন্ধ করা উচিত ( Allow arbitary loads)। শীঘ্রই এটি সম্ভব হবে না যেহেতু অ্যাপলকে এটিএসের প্রয়োজন হবে (মূলত বছরের শেষের দিকে - সময়সীমা বাড়ানো হয়েছে) - বিকাশকারী
অ্যাপ্লিকেশন // নিউজ /?id=12212016b


@ জিফ আপনি আইওএস 10 ট্যাগ যুক্ত করেছেন কেন? আইওএস 10-এ কি কোনও অতিরিক্ত পরিবর্তন ছিল? আমি অনুভব করি যে এটি iOS9 এ চালু হয়েছিল এবং এটি ট্যাগটি আইওএস সংস্করণগুলির ক্ষেত্রে যথেষ্ট হওয়া উচিত
জুলিয়ান ক্রল

উত্তর:


467

আপনি যদি এক্সকোড 8.0+ এবং সুইফট 2.2+ বা এমনকি উদ্দেশ্য সি ব্যবহার করছেন:

এখানে চিত্র বিবরণ লিখুন

<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? আপনি এটিএসের উদ্দেশ্যকে বিকৃত করে দিন। এছাড়াও বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । আপনার সফ্টওয়্যার সবেমাত্র তালিকা তৈরি করেছে।
jww

6
@jww এই পোস্টটির উদ্দেশ্য এটি। অডিও চালানোর জন্য আমার যে সাইটের সাথে সংযোগের প্রয়োজন তা এখনও এইচটিটিপিএস ব্যবহার করে না এবং আমি অপেক্ষা করার চেষ্টা করছি না।
থিঙ্কডিজিটাল

5
এটি আইওএস 10.0+ বা ম্যাকোস 10.12+ এ কাজ করবে না এটি প্রকৃতপক্ষে উল্লিখিত (উদাহরণ.কম) ব্যতীত সমস্ত স্বেচ্ছাচারী লোডগুলিকে অনুমতি দেওয়ার জন্য বলেছে। সুতরাং এটি পছন্দসই কি বিপরীত করতে হবে। NSAllowsArbirtraryLoads এখানে মিথ্যাতে সেট করা উচিত। আরও তথ্য: অ্যাপল ডক্স
ফ্রিক স্যান্ডার্স

1
একমত হোন, পৃথিবীতে সবাই কেন এটিকে সমর্থন করে? আপনি যদি কোনও ব্যতিক্রম ডোমেন সেট করেন তবে এনএসএল্লোআরবিটরিলডগুলি ব্যবহার করার কোনও অর্থ নেই।
থাইবাট নোয়া

1
এনএসআল্লোআরবিট্রেইলোগগুলি সত্য হওয়ার দরকার নেই, তাই এটি অপসারণ করতে হবে। এনএসইএক্সসেপশনডোমাইনস যথেষ্ট যা কেবলমাত্র সেই ডোমেনের সাথেই সুরক্ষিত সংযোগ সক্ষম করে। এনএসএলাউসআরবিট্রেইলওডস = সত্য কোনও ডোমেনে ননসিকিউর সংযোগ সক্ষম করবে তাই এখনও যদি এটি সেট করা হয় তবে এটি এনএসইসেপশনডমিনগুলিকে বোকা বানাবে কারণ এতে ইতিমধ্যে সমস্ত ডোমেন রয়েছে
মিস্টার_গিগা

950

এনএসএপিটান্সপোর্টসিকিউরিটি ব্যবহার করুন:

এখানে চিত্র বিবরণ লিখুন

আপনি সেট আছে NSAllowsArbitraryLoads চাবিকাঠি হ্যাঁ অধীনে NSAppTransportSecurity আপনার info.plist ফাইলে অভিধান।

প্লিস্ট কনফিগারেশন


157
এটি জানা যাক: এটি কার্যকরী! যে কোনও সময় আপনি HTTPS- র মাধ্যমে HTTP ব্যবহার করছেন আপনি দুর্বলতার জন্য আপনার ব্যবহারকারীর ডিভাইস (গুলি) খুলছেন। নিশ্চিত যে এটি অনেক ক্ষেত্রেই অসম্ভব তবে নৈতিক প্রোগ্রামিং সর্বোত্তম অনুশীলন। শুধু বলুন '... - এছাড়াও, কাজের জন্য +1 (পরীক্ষার উদ্দেশ্যে)
জ্যাকসনকর

36
এটি কোনও সমাধান নয় - এটি একটি হ্যাক! : ব্যক্তি DOMAIN "ব্যতিক্রম" যোগ করতে নিচের এই উত্তর দেখার stackoverflow.com/a/32560433/1103584
DiscDev

17
এই সমাধান প্রবন হিসেবে পরিচিত যদিও, এটা শুধুমাত্র সমাধান আমি সময় সুপারিশ করবে ডেভেলপমেন্ট । বিকাশের সময় প্রতিটি সঠিক ডোমেন টাইপ করা কেবল নির্বোধ (বিশেষত যদি আপনি তৃতীয় পক্ষের ওয়েব পরিষেবা ব্যবহার করছেন)।
পুনরায়

6
সেই কীগুলির নাম পরিবর্তন করা হয়েছে এখন "অ্যাপ ট্রান্সপোর্ট সিকিউরিটি সেটিংস" এর অধীনে "
সালিশী লোডগুলিকে

11
এত লোক কেন এই সমাধানের বিরুদ্ধে? এটি অবশ্যই হ্যাক নয়! সুরক্ষা প্রোটোকল সবসময় আপনার নিয়ন্ত্রণে থাকে না এমন অনেকগুলি অ্যাপ্লিকেশনকে প্রকৃত ইন্টারনেটে যোগাযোগ করতে হবে। উদাহরণস্বরূপ, অন্য সার্ভারগুলির এমন চিত্রগুলি দেখাতে সক্ষম হওয়া খুব যুক্তিসঙ্গত বলে মনে হয় যার কোনও SSL শংসাপত্র নেই।
ওড়েন

825

এখানে দৃশ্যমানভাবে সেটিংস রয়েছে:

এক্সকোড জিইউআইয়ের মাধ্যমে ইনফো.লাইস্টে এনএসআল্লোআরবিটরিলডগুলির জন্য ভিজ্যুয়াল সেটিংস


10
আমার কাছে সেই বিকল্প নেই।
ব্যবহারকারী

25
আপনি যদি সরাসরি আপনার তথ্য.পালিস্টটি খোলেন তবে আপনি কেবল এনএসএপিট্রান্সপোর্টসিকিউরিটি ডিকশনারিটি যুক্ত করতে পারেন এবং তারপরে এনএসএল্লোআরবিটরিলডস আইটেমটি তৈরি করতে পারেন (নীচে উমর ফারুক সম্পাদিত উত্তরটি দেখুন)।
স্টফ

3
এখানে একই - ব্যতিক্রম ডোমেনগুলি আমার জন্য 7.3 নিয়ে কাজ করে নি।
নিয়মিত এক্সপ্রেসন

4
এই বিকল্পটি বিদ্যমান নেই
এক্সকোড

3
@ জোশপিন্টার থেকে প্রাপ্ত তথ্য এক্সকোড ৮ এর সাথে আমার জন্য কাজ করেছে
ম্যাথু

717

ফোরাম পোস্ট অ্যাপ্লিকেশন পরিবহন সুরক্ষা দেখুন?

এছাড়াও আইওএস 9 এবং ওএসএক্স 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 এটি একটি এক্সএমএল ফাইল যাতে আপনি এই কোডটি ফাইলের ভিতরে কম-বেশি যে কোনও জায়গায় রাখতে পারেন।


1
আমি কীভাবে এটি করতে পারি, আমি এই কোডটি তথ্য.পিস্টে যুক্ত করার উপায় কী কারণ আমি এই কোডটি কোথায় আটকানো জানি না?
lmiguelvargasf

2
@ লিমিগুয়েলভার্গসফ আপনার তথ্য.প্লেস্টটি সরল পাঠ্য সম্পাদকটিতে খুলুন
ড্যান

7
আমি তবুও ত্রুটিটি পেয়েছি: ব্যতিক্রম ডোমেন সেট করা হয়েছে এবং এনএসআল্লোআরবিটরিলডগুলি মিথ্যা। এমনকি এনএসএল্লোআরবিট্রেইলডগুলি সেট করে ত্রুটিটি সঠিকভাবে সেট করা আছে। এখানে অন্য কারও কি এই সমস্যা আছে?
klaevv

3
1/30/2016 পর্যন্ত অ্যাপল ডকটি দেখায় যে কীগুলির মধ্যে আর অস্থায়ী শব্দ নেই, উদাহরণস্বরূপ: এনএসইক্সেপশনআল্লোসাইসিকিউর এইচটিটিপিএলডস এনএসইসেপশনমিনিমামটিটিএলএস সংস্করণ দেখুন বিকাশকারী.এপ্লে
ফিলিপ

3
যদি অন্য কেউ তাদের চুল টেনে বের করে দেয় কারণ তথ্য.প্লেস্টে এই সাধারণ পরিবর্তনগুলি কাজ করছে না .. প্রকল্প> টার্গেট> তথ্য> কাস্টম আইওএস টার্গেট বৈশিষ্ট্যগুলিতে পরিবর্তন যুক্ত করুন
ব্লুগুই

330

এটি পরীক্ষা করা হয়েছিল এবং আইওএস 9 জিএম বীজে কাজ করা হয়েছিল - এইচটিটিপিএসের পরিবর্তে কোনও নির্দিষ্ট ডোমেনকে এইচটিটিপি ব্যবহার করার অনুমতি দেওয়ার জন্য এটি কনফিগারেশন :

<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, কারণ এটি সমস্ত অনিরাপদ সংযোগটিকে অস্বীকার করে , তবে ব্যতিক্রম তালিকাটি এইচটিটিপিএস ছাড়াই কিছু ডোমেনের সংযোগের অনুমতি দেয় ।


7
এই উত্তর হিসাবে চিহ্নিত করা উচিত। "অলস" উপায় না নিয়ে এবং আপনার অ্যাপ্লিকেশনটিকে পুরোপুরি না খোলায় একটি নির্দিষ্ট ডোমেনকে HTTP ব্যবহারের অনুমতি দেওয়ার জন্য আইওএস 9 জিএম বীজ পরীক্ষা করে দেখে কাজ করে।
ডিস্কদেভ

2
আমি কীভাবে এটি আমার ইনফরমেশন.প্লেস্টে যুক্ত করব?
জেএমএসটিডিওস.জ্রিচার্ডসন

8
ঠিক আছে আমি আমার তথ্য.পুলিস্টে এন্ট্রি যুক্ত করেছি এবং আমি এখনও এই ত্রুটিটি পেয়েছি - "অ্যাপ ট্রান্সপোর্ট সিকিউরিটি একটি সুরক্ষিত এইচটিটিপি (http: //) রিসোর্স লোডকে অনিরাপদ থেকে আটকা দিয়েছে Temp অস্থায়ী ব্যতিক্রমগুলি আপনার অ্যাপের তথ্যের মাধ্যমে কনফিগার করা যেতে পারে .plist ফাইল। "
কেএমসি

2
@ রোমানশাপোলোভ যদি আপনার অবশ্যই একটি আইপি ঠিকানা ব্যবহার করা থাকে তবে আইপি ঠিকানার শেষে .xip.io যুক্ত করার চেষ্টা করুন এবং আপনার এনএসইএক্সসেপশনডোমাইনগুলিতে xip.io যুক্ত করুন। Xip.io দেখুন । বিকাশের সময় আমি সরাসরি আইপিতে সংযোগ করি (তবে প্রকাশ হয় না) এবং এটি আমার জন্য দুর্দান্ত কাজ করে।
tpankake

2
যতক্ষণ না বুঝেছি আমার পরীক্ষার প্রকল্পটিতে এটি ভুল তথ্য.প্লেস্টে রেখেছি ততক্ষণ আমার পক্ষে কাজ করছিল না। আপনি এটি সঠিকভাবে রেখেছেন তা নিশ্চিত করুন!
চকি

144

এটি প্লিস্টে যুক্ত করার জন্য এটি দ্রুত কাজ (তবে প্রস্তাবিত নয়):

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

যার অর্থ ( অ্যাপলের ডকুমেন্টেশন অনুসারে ):

এনএসএলওআরবিট্রেইলওডস এনএসইএসসেপশনডোমাইনস অভিধানে
তালিকাভুক্ত নয় এমন কোনও ডোমেনের জন্য অ্যাপ পরিবহন সুরক্ষা অক্ষম করতে ব্যবহৃত একটি বুলিয়ান মান। তালিকাবদ্ধ ডোমেনগুলি সেই ডোমেনের জন্য নির্দিষ্ট সেটিংস ব্যবহার করে।

NO এর ডিফল্ট মানটির জন্য সমস্ত সংযোগের জন্য ডিফল্ট অ্যাপ ট্রান্সপোর্ট সুরক্ষা আচরণ প্রয়োজন।

আমি সত্যিই লিঙ্কগুলি প্রস্তাব:

যা আমাকে কারণগুলি এবং সমস্ত বিষয় বোঝার জন্য সহায়তা করে।

নীচের এক্সএমএল (ফাইল ইনফো.প্লিস্টে) এটি করবে:

<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 প্রোটোকল ব্যবহার করবে।

উপরের এক্সএমএলে আপনি যুক্ত করতে পারেন:

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

যদি আপনি নির্দিষ্ট ঠিকানার সাবডোমেনগুলির জন্য অনিরাপদ সংযোগগুলির অনুমতি দিতে চান।

সর্বোত্তম পন্থা হ'ল সমস্ত স্বেচ্ছাচারী বোঝা (মিথ্যাতে সেট করা) ব্লক করা এবং কেবলমাত্র আমরা জানি ঠিকানার ঠিকানাগুলি ঠিক করার জন্য ব্যতিক্রম যুক্ত করা।

আগ্রহী পাঠকদের জন্য

2018 আপডেট:

অ্যাপল এটি বন্ধ করার প্রস্তাব দিচ্ছে না - সুরক্ষার সাথে সম্পর্কিত আরও কিছু বিষয় 207 সেশনে ডাব্লুডাব্লুডিসি 2018 -র আরও তথ্য পাওয়া যাবে

Answerতিহাসিক কারণ এবং বিকাশের পর্বের জন্য আসল উত্তরটি ছেড়ে দেওয়া


1
NSAllowsArbitraryLoadsঅবশ্যই হবেfalse
সাউন্ড ব্লাস্টার

@ সাউন্ডব্লাস্টার কী মামলার জন্য এবং আমার ভোট ভোটের উত্তরের ক্ষেত্রে আপনি কী ভুল দেখছেন?
জুলিয়ান ক্রোল

প্লিস্ট যুক্ত করে (এনএসএপিট্রান্সপোর্টসিকিউরিটি এনএসআল্লোআরবিট্রেইলওডস), আইওএস 9-তে একটি ওয়েব সার্ভিস এক ওয়েব সার্ভিস অভ্যন্তরীণ সার্ভার ত্রুটি (500) রিটার্ন ব্যতীত সমস্ত ওয়েব সার্ভিস সূক্ষ্মভাবে কাজ করছে তবে আইওএস 8 বা তারপরে জরিমানা কাজ করছে
amit gapt

@ সাউন্ডব্লাস্টার একটি পরিবর্তন করেছেন, এখন আপনার আপত্তি করা উচিত নয় :)
জুলিয়ান ক্রল

ধন্যবাদ, আপনি কীভাবে এটিকে যুক্ত করবেন <key>NSIncludesSubdomains</key> <true/>? প্রতিটি সেটিং কি চারপাশে ঘিরে থাকতে হবে <dict>? আপনি কীভাবে এই অভিশাপের ফাইলটি সম্পাদনা করবেন? বিন্যাস কী? : ডি আপনাকে ধন্যবাদ।
এজেন্ট জেব্রা

116

আপনারা যারা এটি কেন ঘটছে সে সম্পর্কে আরও প্রসঙ্গ চান , এটি ঠিক করার পদ্ধতি ছাড়াও নীচে পড়ুন।

আইওএস 9 প্রবর্তনের সাথে সাথে একটি অ্যাপ্লিকেশন এবং ওয়েব পরিষেবাদির মধ্যে সংযোগগুলির সুরক্ষা উন্নত করতে, একটি অ্যাপ্লিকেশন এবং এর ওয়েব পরিষেবার মধ্যে সুরক্ষিত সংযোগগুলি অবশ্যই সেরা অভ্যাস অনুসরণ করতে হবেঅ্যাপ্লিকেশন পরিবহন সুরক্ষা দ্বারা সেরা অনুশীলন আচরণ প্রয়োগ করা হয়:

  • দুর্ঘটনাজনিত প্রকাশ রোধ, এবং
  • সুরক্ষিত একটি ডিফল্ট আচরণ সরবরাহ করুন।

অ্যাপ ট্রান্সপোর্ট সিকিউরিটি টেকনোটে যেমন ব্যাখ্যা করা হয়েছে , আপনার ওয়েব পরিষেবাদির সাথে যোগাযোগ করার সময়, অ্যাপ ট্রান্সপোর্ট সিকিউরিটির এখন নিম্নলিখিত প্রয়োজনীয়তা এবং আচরণ রয়েছে:

  • সার্ভারটি অবশ্যই কমপক্ষে পরিবহন স্তর সুরক্ষা (টিএলএস) প্রোটোকল সংস্করণ 1.2 সমর্থন করে support
  • সংযোগ সাইফারগুলি সীমাবদ্ধ যারা ফরোয়ার্ড গোপনীয়তা সরবরাহ করে (নীচে সাইফারগুলির তালিকা দেখুন))
  • শংসাপত্রগুলিতে একটি SHA256 বা আরও ভাল স্বাক্ষর হ্যাশ অ্যালগরিদম ব্যবহার করে স্বাক্ষর করতে হবে, হয় 2048 বিট বা বৃহত্তর আরএসএ কী বা 256 বিট বা বৃহত্তর এলিপটিক-কার্ভ (ইসিসি) কী দ্বারা।
  • অবৈধ শংসাপত্রগুলির ফলে একটি হার্ড ব্যর্থতা এবং কোনও সংযোগ নেই।

অন্য কথায়, আপনার ওয়েব পরিষেবার অনুরোধটি হওয়া উচিত: ক) এইচটিটিপিএস এবং খ।) ফরোয়ার্ড গোপনীয়তার সাথে টিএলএস ভি 1.2 ব্যবহার করে এনক্রিপ্ট করা উচিত।

তবে অন্যান্য পোস্টে যেমন উল্লেখ করা হয়েছে, আপনি অ্যাপ ট্রান্সপোর্ট সুরক্ষা থেকে Info.plistআপনার অ্যাপ্লিকেশনটির অনিরাপদ ডোমেনটি নির্দিষ্ট করে এই নতুন আচরণটি ওভাররাইড করতে পারেন ।


ওভাররাইড করতে, আপনার নিজের NSAppTransportSecurity> NSExceptionDomainsঅভিধানের বৈশিষ্ট্য যুক্ত করতে হবে Info.plist। এরপরে, আপনি অভিধানে আপনার ওয়েব পরিষেবার ডোমেন যুক্ত করবেন NSExceptionDomains

উদাহরণস্বরূপ, আমি হোস্ট www.yourwebservicehost.com- এ কোনও ওয়েব পরিষেবার জন্য যদি অ্যাপ ট্রান্সপোর্ট সুরক্ষা আচরণটি বাইপাস করতে চাই তবে আমি নিম্নলিখিতটি করবো:

  1. এক্সকোডে আপনার অ্যাপ্লিকেশনটি খুলুন।

  2. Info.plistপ্রকল্প নেভিগেটরে ফাইলটি সন্ধান করুন এবং "ডান-মাউস" এটিতে ক্লিক করুন এবং ওপেন হিসাবে > উত্স কোড মেনু বিকল্পটি চয়ন করুন। সম্পত্তি তালিকার ফাইলটি ডান ফলকে উপস্থিত হবে।

  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

কী উপরে উল্লেখিত সম্পর্কে আরো জানতে, পড়তে ইতিমধ্যে উল্লিখিত technote


1
এটি আমার 2 টি অ্যাপ্লিকেশনে কাজ করেছে তবে এটি তৃতীয়টিতে কাজ করছে না। উপরের ফিক্সটি ব্যবহার করে এবং এখনও একই ত্রুটি বার্তাটি পাওয়ার কি অন্য কারও পরিস্থিতির মুখোমুখি হয়েছে? (এবং হ্যাঁ, কোডটি এক নয়, আমার এপিআই ডোমেন ব্যবহার করার জন্য আমি
অভিধানটি আপডেট করেছি

সেরা! অ্যাপল নিশ্চিত করেছে যে এই সমাধানটি ব্যবহার করে
ইয়ানস্টেফ

এই মধ্যে Cordova / Phonegap / আয়নের সম্পাদনা ফাইল অ্যাপের জন্য কাজ ./platforms/ios/<project>/<project>-Info.plistসঙ্গে NSAllowsArbitraryLoads=falseTLS এর / HTTP- র / HTTPS দ্বারা সমন্বয় তারতম্য সঙ্গে পরিষেবাগুলিতে এবং অনেক ব্যতিক্রম ডোমেনগুলি। প্রাথমিকভাবে NSAllowsArbitraryLoads=trueতারপরে সামঞ্জস্য করা হয়, নির্দেশাবলী মেনে চলার জন্য অনুমোদনের জন্য জমা দেওয়ার জন্য ট্রায়াল এবং ত্রুটির মাধ্যমে নিয়মগুলি সমস্যা সমাধান করে। দ্রষ্টব্য config.xml <access origin=.../>বিবৃতিগুলি এই ফাইলটিকে আংশিকভাবে পপুলেট করে, তবে বর্তমানে বিশদটি সঠিকভাবে পেতে সরাসরি সম্পাদনা বা এক্সকোডের মাধ্যমে সামঞ্জস্য প্রয়োজন।
জিমমন্ট

এছাড়াও <access origin="*"/>(কনফিগার। এক্সএমএল) সেটগুলি NSAllowsArbitraryLoads=true(কর্ডোভা /
ফোনগ্যাপ

কেন NSExceptionAllowsInsecureHTTPLoadsসেট করা হয় true? আপনি এটিএসের উদ্দেশ্যকে বিকৃত করে দিন। এছাড়াও বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । আপনার সফ্টওয়্যার সবেমাত্র তালিকা তৈরি করেছে।
jww

67

আমি সরাসরি প্লিস্ট সম্পাদনা পছন্দ করি না। আপনি এটি জিইউআই ব্যবহার করে সহজেই প্লিস্টে যুক্ত করতে পারেন:

  • বাম দিকের নেভিগেটরে তথ্য.পিস্টে ক্লিক করুন।
  • এখন মূল অঞ্চলে ডেটা পরিবর্তন করুন:

    • শেষ লাইনে + যুক্ত করুন
    • গোষ্ঠীর নাম লিখুন: অ্যাপ পরিবহন সুরক্ষা সেটিংস
    • গ্রুপে রাইট ক্লিক করুন এবং নির্বাচন করুন Add Row
    • লিখুন নির্বিচারে লোড অনুমতি দিন
    • হ্যাঁ ডানদিকে মান সেট করুন

উদাহরণ


স্পষ্ট করার জন্য: যদি "সালিসী লোডের মঞ্জুরি দিন" হ্যাঁ হয়, এবং সেখানে "ব্যতিক্রমী ডোমেনগুলি" রয়েছে, তবে অনুমোদিত লোডগুলি ব্যতিক্রম ডোমেনগুলির মধ্যে সীমাবদ্ধ। এটা কি ঠিক?

আমি যদি অ্যাপ্লিকেশনটি প্রকাশ করতে চাই তবে এটি করার নিরাপদ উপায় কি?
লামোর

না। স্বেচ্ছাচারী বোঝা অনুমতি দিয়ে, আপনার অ্যাপ্লিকেশন বিনামূল্যে যে কোনও ডোমেইনের সাথে সংযোগ করতে পারে। সুরক্ষার দৃষ্টিতে অপ্রত্যাশিত নেটওয়ার্ক ব্যবহার এড়ানোর জন্য আপনার অ্যাপটি কোন ডোমেন / ওয়েবসাইটের সাথে সংযুক্ত হওয়া উচিত তা নিয়ন্ত্রণ ও সীমাবদ্ধ করা উচিত।
র‌্যাপটার

বেশিরভাগ অ্যাপ্লিকেশন কেবল পরিচিত সার্ভারগুলিতেই রুট করে। এটি বিকাশকারী দ্বারা নিয়ন্ত্রিত হয়। তাই সুরক্ষা ইস্যুগুলি জানা যায়।
ভিনসেন্ট

কেন NSAllowsArbitraryLoadsসেট করা হয় YES? আপনি এটিএসের উদ্দেশ্যকে বিকৃত করে দিন। এছাড়াও বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । আপনার সফ্টওয়্যার সবেমাত্র তালিকা তৈরি করেছে।
jww

25

অ্যাপল ডকুমেন্ট ঘ

অ্যাপল ডকুমেন্ট 2

এর জন্য দুটি সমাধান রয়েছে:

সমাধান 1:

  1. ইন Info.plistফাইল 'কী দিয়ে একটি অভিধান যোগ NSAppTransportSecurity'
  2. কী সহ অভিধানের ভিতরে অন্য একটি উপাদান যুক্ত করুন 'Allow Arbitrary Loads'

Plist চিত্রটি নীচের চিত্রের মতো প্রদর্শিত হবে।

সমাধান ঘ

সমাধান 2:

  1. ইন Info.plistফাইল 'কী দিয়ে একটি অভিধান যোগ NSAppTransportSecurity'
  2. কী ' NSExceptionDomains' দিয়ে অভিধানের ভিতরে অন্য একটি উপাদান যুক্ত করুন
  3. 'MyDomainName.com'এনএসডেটরিয় টাইপের কী সহ উপাদান যুক্ত করুন
  4. NSIncludesSubdomainsটাইপ Booleanএবং মান সেট হিসাবে কী ' ' সহ উপাদান যুক্ত করুনYES
  5. NSTemporaryExceptionAllowsInsecureHTTPLoadsটাইপ Booleanএবং মান সেট হিসাবে কী ' ' সহ উপাদান যুক্ত করুনYES

Plist চিত্রটি নীচের চিত্রের মতো প্রদর্শিত হবে।

সমাধান 2

সমাধান 2 টি পছন্দনীয় কারণ এটি কেবলমাত্র নির্বাচিত ডোমেনকেই অনুমতি দেয় যেখানে সমাধান 1 সমস্ত অনিরাপদ এইচটিটিপি সংযোগের অনুমতি দেয়।


কেন NSAllowsArbitraryLoadsসেট করা হয় YES? আপনি এটিএসের উদ্দেশ্যকে বিকৃত করে দিন। এছাড়াও বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । আপনার সফ্টওয়্যার সবেমাত্র তালিকা তৈরি করেছে।
jww

20

পরিবহন সুরক্ষা আইওএস 9.0 বা তার পরে পাওয়া যাবে। আপনার অ্যাপ্লিকেশনটির অভ্যন্তরে ডাব্লুএসকে কল করার চেষ্টা করার সময় আপনার এই সতর্কতা থাকতে পারে:

অ্যাপ্লিকেশন পরিবহন সুরক্ষা এটি নিরাপদ হওয়ার কারণে একটি ক্লিয়ারটেক্সট এইচটিটিপি (http: //) রিসোর্স লোডকে অবরুদ্ধ করেছে। অস্থায়ী ব্যতিক্রমগুলি আপনার অ্যাপের তথ্য.প্লেস্ট ফাইলের মাধ্যমে কনফিগার করা যায়।

আপনার তথ্য.পালিস্টে নিম্নলিখিতগুলি যুক্ত করা এটিএসটি অক্ষম করবে:

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

1
এনএসআল্লোআরবিটরিলডগুলি অবশ্যই মিথ্যা হতে হবে, যদি সত্য হয় তবে এটি সমস্ত অনিরাপদ সংযোগের অনুমতি দেয়
থিয়াগো অ্যারেগুই

একটি ওয়েব সার্ভিস আইওএস 9-তে একটি ওয়েব সার্ভিস অভ্যন্তরীণ সার্ভার ত্রুটি (500) রিটার্ন ব্যতীত সমস্ত ওয়েব সার্ভিস সূক্ষ্মভাবে কাজ করে যোগ করুন - তবে আইওএস 8 বা তারপরে সূক্ষ্মভাবে কাজ করবেন
অমিত গুপ্ত

1
দোকানে গৃহীত?
বৃষভ ইরদে

খুব খারাপ পরামর্শ; বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । কাজগুলি করার প্রস্তাবিত উপায়ে পূর্ণ থাকলে প্রশ্নটি দেওয়া হয়েছে, "আমিও" এর মতো উত্তরগুলির প্রয়োজন নেই।
jww

15

বিকাশের উদাহরণ

এখানে একটি প্লিস্টের স্ক্রিনশট রয়েছে যা এটিএস অক্ষত রাখে (= সুরক্ষিত), তবে অনুমতি দেয় যে লোকালহোস্টের সাথে সংযোগগুলি এইচটিটিপিএসের পরিবর্তে এইচটিটিপি এর মাধ্যমে করা যেতে পারে । এটি এক্সকোড 7.1.1 এ কাজ করে।

এখানে চিত্র বিবরণ লিখুন


লোকালহস্টকে সুরক্ষিত করার কোনও উপায় আছে, যেমন এইচটিটিপিএস ব্যবহার করে, দেশটির প্রতিক্রিয়া-ভিত্তিতে যাতে আমাদের ডিফল্ট NSExceptionAllowsInsecureHTTPLoads - YESকনফিগারেশনটি ব্যবহার না করতে হয় ?
মিল্কারসারাক

13

আপনার তথ্য.পুলিস্টে যান

  1. খালি জায়গায় রাইট ক্লিক করুন এবং অ্যাড রো-তে ক্লিক করুন
  2. এর অধীনে এনএসএপিটান্সপোর্টসিকিউরিটি হিসাবে মূল নামটি লিখুন
  3. ব্যতিক্রম ডোমেনগুলি নির্বাচন করুন, এতে একটি নতুন আইটেম যুক্ত করুন
  4. আপনার ডোমেন নাম লিখুন যা অ্যাক্সেস করা দরকার
  5. স্ট্রিং থেকে অভিধানে ডোমেন প্রকার পরিবর্তন করুন, একটি নতুন আইটেম যুক্ত করুন
  6. এনএসটিম্পেরি এক্সসেপশনআলোজস ইনসিকিউর এইচটিটিপিএলডস, এটি সত্যিকারের মান সহ একটি বুলিয়ান। ছবিটি সঠিকভাবে অনুসরণ করতে দেখুন

1
কেন NSAllowsArbitraryLoadsসেট করা হয় true? আপনি এটিএসের উদ্দেশ্যকে বিকৃত করে দিন। এছাড়াও বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । আপনার সফ্টওয়্যার সবেমাত্র তালিকা তৈরি করেছে।
jww

13

অ্যাপলের মতে, সাধারণত এটিএসকে অক্ষম করা অ্যাপ্লিকেশন প্রত্যাখ্যানের দিকে পরিচালিত করবে, যদি না আপনি যদি এটির করার কোনও ভাল কারণ না করেন। তারপরেও, ডোমেনগুলির জন্য আপনার ব্যতিক্রম যুক্ত করা উচিত যা আপনি নিরাপদে অ্যাক্সেস করতে পারেন।

অ্যাপলের একটি দুর্দান্ত সরঞ্জাম রয়েছে যা আপনাকে ঠিক কী সেটিংস ব্যবহার করতে হবে তা বলতে: টার্মিনালে, প্রবেশ করান

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

এবং এনএসকারল এই অনুরোধটি ব্যর্থ হয়েছে কিনা তা যাচাই করবে এবং তারপরে বিভিন্ন সেটিংস চেষ্টা করে কোনটি পাস করবে এবং কী করবে তা আপনাকে জানাবে। উদাহরণস্বরূপ, আমি যে তৃতীয় পক্ষের ইউআরএল দেখতে যাই তার জন্য, এই আদেশটি আমাকে বলেছিল যে এই অভিধানটি পাস করেছে:

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

আপনার নিজের নিয়ন্ত্রণের বাইরে থাকা আপনার নিজস্ব সাইট এবং তৃতীয় পক্ষের সাইটগুলির মধ্যে পার্থক্য করার জন্য, উদাহরণস্বরূপ, এনএসটিয়ার্ড পার্টির এক্সেক্সেশনরেকুইয়ার্স ফরওয়ার্ড সেক্রেসি কীটি ব্যবহার করুন।


1
অ্যাপ্লিকেশনটির সাথে পরীক্ষার আগে এটি পরীক্ষা করার জন্য এটির দুর্দান্ত সরঞ্জাম। সময় বাঁচাতে. তবে এই কমান্ডটির আউটপুট বুঝতে কোনও রিসোর্স পড়তে হবে।
দাম

1
আকর্ষণীয় সরঞ্জাম। আমার ক্ষেত্রে এটি বিষয়গুলিকে অতিরিক্ত বিবেচনা করে। NSExceptionAllowsInsecureHTTPLoads = true;এটিতে তিনটি কী যুক্ত রয়েছে তবে এটির প্রয়োজন নেই।
ক্রিস প্রিন্স

11

এই প্রযুক্তিটিতে উল্লিখিত হিসাবে কী সেটিংস ব্যবহার করতে হবে তা স্বয়ংক্রিয়ভাবে সম্পাদন করা যেতে পারে তা নির্ধারণ করে :

/usr/bin/nscurl --ats-diagnostics --verbose https://your-domain.com

স্পষ্টতই এর জন্য আপনার ওএস এক্স 10.11 (এল ক্যাপিটান) দরকার need
ইকোট্যাক্স

10

দ্রষ্টব্য: আপনার প্লিস্টের ব্যতিক্রম ডোমেনটি নিম্ন-কেসে থাকা উচিত।

উদাহরণ: আপনি সেটিংস-> ভাগ করে নেওয়ার আওতায় আপনার মেশিনটির নাম দিয়েছেন "মাইআউভিজম্যাকবুক"; আপনার সার্ভার (পরীক্ষার উদ্দেশ্যে) MyAwesomeMacbook.local: 3000 এ চলছে, এবং আপনার অ্যাপ্লিকেশনটির জন্য একটি অনুরোধ প্রেরণ করা প্রয়োজন http: //MyAwesomeMacbook.local: 3000 / ফাইল ..., আপনার প্লিস্টটি আপনাকে "মায়াআলম্বজম্যাকবুক" নির্দিষ্ট করতে হবে। স্থানীয় "ব্যতিক্রম ডোমেন হিসাবে।

-

আপনার তথ্য.লিস্টে অন্তর্ভুক্ত থাকবে ...

<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 ধরনের সঙ্গে plist ফাইলে, অভিধান , তারপর সাব আইটেম যোগ NSAllowsArbitraryLoads ধরনের অভিধানে বুলিয়ান , এবং সেট bool, মান হ্যাঁ । এটি আমার পক্ষে কাজ করে।


1
এনএসআল্লোআরবিটরিলডগুলি অবশ্যই মিথ্যা হতে হবে, সত্য যদি এটি সমস্ত অনিরাপদ সংযোগের অনুমতি দেয়
থিয়াগো অ্যারেগুই

একটি ওয়েব সার্ভিস আইওএস 9-তে একটি ওয়েব সার্ভিস অভ্যন্তরীণ সার্ভার ত্রুটি (500) রিটার্ন ব্যতীত সমস্ত ওয়েব সার্ভিস সূক্ষ্মভাবে কাজ করে যোগ করুন তবে আইওএস 8 বা তারপরে @ থিয়াগোআররেগুয়ে
গুপ্ত

খুব খারাপ পরামর্শ; বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । কাজগুলি করার প্রস্তাবিত উপায়ে পূর্ণ থাকলে প্রশ্নটি দেওয়া হয়েছে, "আমিও" এর মতো উত্তরগুলির প্রয়োজন নেই।
jww

আমি এটির একটি খারাপ পরামর্শ জানি, তবে এটি কেবল সময়ের উন্নয়ন মোডে থাকার জন্য কেবল একটি সমাধান। অ্যাপল আমাদের নমনীয়তা সরবরাহ করেছে, যদি এটি খুব খারাপ হয় তবে তারা এটিকে অনুমতি দেবে না।
তেজিন্দর

9

2015-09-25 এ (2015-09-18 এ এক্সকোড আপডেটের পরে):

আমি একটি অলস পদ্ধতি ব্যবহার করেছি, তবে এটি কার্যকর হয়নি। নিম্নলিখিতগুলি আমার চেষ্টা।

প্রথমত,

<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? আপনি এটিএসের উদ্দেশ্যকে বিকৃত করে দিন। এছাড়াও বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । আপনার সফ্টওয়্যার সবেমাত্র তালিকা তৈরি করেছে।
jww

9

সুইফ্ট 4 এবং xocde 10 এ এনএসআল্লোআরবিট্রেইলওডসকে সালিসী লোডের মঞ্জুরি দিতে পরিবর্তন করা হয়। সুতরাং এটি দেখতে এরকম হতে চলেছে:

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

6

কীভাবে সেখানে যাবেন তা উল্লেখ করার মতো হতে পারে ...

ইনফো.লিস্ট মেইন.স্টোরিবোর্ড বা ভিউকন্ট্রোলআরস সুইফটের নীচে থাকা ফাইলগুলির মধ্যে একটি।

আপনি যখন প্রথমবার এটি ক্লিক করেন, এটি সাধারণত একটি টেবিল বিন্যাসে থাকে, সুতরাং ফাইলটি ডানদিকে ক্লিক করুন এবং উত্স কোড হিসাবে 'ওপেন করুন' এবং তারপরে নীচের কোডটি শেষের দিকে যুক্ত করুন, অর্থাত:

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

ঠিক উপরের কোডটি পেস্ট করুন

 "</dict>
</plist>"

যা শেষে আছে


কেন NSAllowsArbitraryLoadsসেট করা হয় true? আপনি এটিএসের উদ্দেশ্যকে বিকৃত করে দিন। এছাড়াও বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । আপনার সফ্টওয়্যার সবেমাত্র তালিকা তৈরি করেছে।
jww

5

এক্সকোড 7.1 এর জন্য আপডেট, সমস্যার মুখোমুখি 27.10.15:

তথ্য.পালিস্টে নতুন মান হ'ল "অ্যাপ ট্রান্সপোর্ট সুরক্ষা সেটিংস"। সেখান থেকে, এই অভিধানটি থাকা উচিত:

  • যথেচ্ছ লোডগুলিকে অনুমতি দিন = হ্যাঁ
  • ব্যতিক্রম ডোমেন (এখানে আপনার http ডোমেন সন্নিবেশ করুন)

4

যারা এখানে এসেছেন তাদের WKWebView সবসময় সাদা হওয়ার কারণ অনুসন্ধান করার চেষ্টা করে এবং কোনও কিছুই বোঝাই করেন না (ঠিক এখানে বর্ণিত আছে কীভাবে আমি WKWebView কে দ্রুত এবং ম্যাকোস অ্যাপের জন্য কাজ করতে পারি ):

উপরের সমস্ত রকেট বিজ্ঞান যদি আপনার জন্য কাজ না করে তবে স্পষ্টত: স্যান্ডবক্স সেটিংস পরীক্ষা করে দেখুন

স্যান্ডবক্স সেটিংস]

সুইফ্ট এবং কোকোতে নতুন হওয়া, তবে প্রোগ্রামিংয়ে বেশ অভিজ্ঞ আমি এই সমাধানটি খুঁজে পেতে প্রায় 20 ঘন্টা ব্যয় করেছি। কয়েক ডজন হিপস্টার-আইওএস-টিউটোরিয়াল বা অ্যাপল কীনোটস নেই - কিছুই এই ছোট চেকবক্সটির উল্লেখ করে না।


ওহে আল্লাহ, তোমাকে অনেক ধন্যবাদ! আপনি আমাকে একই 20 ঘন্টা সন্ধান করেছেন!
ব্রেচ্ট ম্যাচিলস

2
লক্ষ্য সক্ষমতা বিভাগে বিভাগটি না দেখে (এক্সকোড 9.4.1)
শিম

3

ডিফল্টরূপে, আইওএস কেবল এইচটিটিপিএস এপিআইকে অনুমতি দেয়। যেহেতু এইচটিটিপি সুরক্ষিত নয়, আপনাকে অ্যাপ পরিবহন সুরক্ষা অক্ষম করতে হবে। এটিএস অক্ষম করার দুটি উপায় রয়েছে: -

১. প্রকল্পের ইনফরমেশন.প্লেস্টে উত্স কোড যুক্ত করা এবং নীচের কোডটি মূল ট্যাগটিতে যুক্ত করা।

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

২. প্রকল্পের তথ্য ব্যবহার করা।

বাম ফলকে প্রকল্পের প্রকল্পে ক্লিক করুন, লক্ষ্য হিসাবে প্রকল্পটি নির্বাচন করুন এবং তথ্য ট্যাবটি নির্বাচন করুন। আপনি নিম্নলিখিত কাঠামোয় অভিধান যোগ করতে হবে।

এখানে চিত্র বর্ণনা লিখুন



1

NSExceptionDomainsটার্গেট সাইটের কারণে jsবাহ্যিক ডোমেনগুলি থেকে সংস্থানসমূহ (যেমন ফাইল) লোড হতে পারে ব্যবহার একযোগে কোনও প্রভাব প্রয়োগ করতে পারে না http। এটি NSExceptionDomainsপাশাপাশি এই বাহ্যিক ডোমেনগুলি যুক্ত করে সমাধান করা যেতে পারে ।

কোন সংস্থানগুলি লোড করা যায় না তা পরীক্ষা করতে রিমোট ডিবাগিংটি ব্যবহার করার চেষ্টা করুন। এখানে একটি টিউটোরিয়াল: http://geeklearning.io/apache-cordova-and-remote-debugging-on-ios/


0

কর্ডোভার পক্ষে, আপনি যদি এটি আপনার আইওএস জসনে যুক্ত করতে চান তবে নিম্নলিখিতগুলি করুন:

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

এবং এটি এর ভিতরে থাকা উচিত:

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

Config.xml এ কেবল <অ্যাক্সেস অরিজিনাল = "*" /> কাজ করেনি। উভয় প্রয়োজনীয় কিনা তা নিশ্চিত নয়, তবে ios.json সমাধানটি আমার জন্য চুক্তিটি সিল করে।
zeusstl

কেন NSAllowsArbitraryLoadsসেট করা হয় true? আপনি এটিএসের উদ্দেশ্যকে বিকৃত করে দিন। এছাড়াও বিশ্বের সবচেয়ে বিপজ্জনক কোড দেখুন : নন-ব্রাউজার সফ্টওয়্যারটিতে এসএসএল শংসাপত্রগুলি বৈধকরণ । আপনার সফ্টওয়্যার সবেমাত্র তালিকা তৈরি করেছে।
jww

-1

অনেকে উল্লেখ করেছেন যে এটি আইওএস 9.0 এর সাথে আসে এমন একটি বৈশিষ্ট্য বিষয়। তারা অ্যাপ ট্রান্সপোর্ট সিকিউরিটি নামে একটি জিনিস যুক্ত করেছে এবং আমার অ্যাপ্লিকেশনগুলি ভেঙে যাওয়ার সময় আমিও বিরক্ত হয়েছিলাম।

আপনি এটিকে আপনার .plist ফাইলে এনএসএপিটান্সপোর্টসিকিউরিটি ডিকশনারি এর অধীনে হ্যাঁ NSAllowsArbitraryLoads কী দিয়ে ব্যান্ডেজ করতে পারেন, তবে শেষ পর্যন্ত আপনাকে এইচটিটিপিএস: // উপসর্গ গঠনের জন্য আপনার ইউআরএল তৈরি করে এমন কোডটি পুনরায় লিখতে হবে।

অ্যাপল আইওএস 9.0 তে এনএসইউরল কানেকশন ক্লাসটি পুনরায় লিখেছেন। আপনি এটি সম্পর্কে এনএসআরএল সংযোগে পড়তে পারেন ।

অন্যথায়, আপনার সঠিক সমাধানটি প্রয়োগ করার সময় না পাওয়া পর্যন্ত আপনাকে আইওএস 9.0 থেকে ফিরে যেতে হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.