আমি কীভাবে আমার তথ্য.পালিস্ট ফাইলে এনএসএপিটান্সপোর্টসিকিউরিটি যুক্ত করতে পারি?


124

https://developer.apple.com/videos/wwdc/2015/?id=711 @ 5: 55

আমি এটিকে আমার তথ্য.প্লেস্টে যুক্ত করতে সক্ষম বলে মনে হচ্ছে না। এর কোন মূল্য নেই। আমি এক্সকোড সংস্করণ 7.0 বিটা (7A121l) চালাচ্ছি এবং iOS9 এ পরীক্ষা করছি।

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

যাইহোক, আমি এটি কনফিগার করতে সক্ষম বলে মনে হচ্ছে না। কোন ধারনা?


আপনার আর সত্যিই কোনও প্রশ্ন নেই, আপনার উচিত কেবল এগিয়ে গিয়ে নিজের প্রশ্নের উত্তর দেওয়া এবং তারপরে উপযুক্ত সময় বিলম্বের পরে গ্রহণ করা।
নর্মান এইচ

ডোমেন নাম কি ? এটি কি সার্ভার বেস ইউআরএল বা অন্য কোনও? এবং আমার অ্যাপ্লিকেশন ডোমেন নাম কোথায় পাবেন?
নিক

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

উত্তর:


131

এটি দিয়ে চেষ্টা করুন --- এক্সকোড-বিটা 4 7.0-এ আমার জন্য কাজ করেছেন

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>yourdomain.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>  
      <key>NSAllowsArbitraryLoads</key><true/>  
 </dict>

তবে এটি মোটেই সুপারিশ করা হয় না। সার্ভারের এসএসএল শংসাপত্র থাকতে হবে এবং যাতে কোনও গোপনীয়তা ফাঁস না হয়।


আমার কাছে এক্সকোড 7.2 (7C68) আছে এবং আমি আমার পরীক্ষার প্রকল্পের তথ্য.পুলিস্ট (সম্পূর্ণভাবে এটিএস অক্ষম করে) সংশোধন করেছি। কিন্তু এটা কাজ করছে না। কোন সুত্র?
সানান্দ্রিয়া

সাধারণত এটি কাজ করে ... আপনি কি আপনার কোডটি এখানে পেস্ট করতে পারেন এবং তারপরে আমরা দেখতে পাব
আশিশ

এবং যদি আপনার কাছে দু'একটি বেশি ডোমানিস থাকে তবে <key>NSAllowsArbitraryLoads</key> <true/><key>NSExceptionDomains</key> আমার জন্য এটি যুক্ত করতে হবে অন্যথায় এটি কোনও কারণে প্রকাশের সংস্করণে কাজ করে না
পি.লোরান্ড

90

আপনাকে আপনার এন.এস.লিস্ট ফাইলটিতে এনএসএপিট্রান্সপোর্টসিকিউরিটি ডিকশনারিতে হ্যাঁ NESAllowsArbitraryLoads কী যুক্ত করতে হবে।

উদাহরণ স্বরূপ,

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

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


1
এটি একটি workaround। আসল বিষয়টি হ'ল @ আশিসের জবাবের সাথে মৃত্যু
জুলাইপির

45

এটি আমার পক্ষে কাজ করে না, তবে এটি কৌশলটি করেছে:

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

আমি মনে করি এর <true/>পরিবর্তে আপনি বলতে চাইছেন<YES/>
ক্লিফটন ল্যাব্রাম

1
সুরক্ষা দৃষ্টিকোণ থেকে, এটি হ'ল উপায়, কীভাবে এটি করা যায় না, কারণ কোডের এই বিভাগটি কেউ কখনও পর্যালোচনা করবে না এবং সঠিকভাবে নির্দিষ্ট ডোমেনগুলিতে এটি আপডেট করবে না।
আইগ্রাচেক

1
এটি একটি ভাল অনুশীলন নয়। বরং আমাদের নির্দিষ্ট ডোমেনগুলির অনুমতি দেওয়া উচিত।
আশীষ

1
আমার মতো অন্যান্য নবজাতকের জন্য: এটি সঠিক অবস্থানে রাখার বিষয়টি নিশ্চিত করুন (শেষে </dict>এবং বিদ্যমান এবং </plist>ট্যাগগুলি দ্বারা আবদ্ধ :
পিডাব্লুডিআর

21

কেবল পরিষ্কার করার জন্য ... আপনার সর্বদা HTS ব্যবহার করা উচিত

তবে আপনি ব্যতিক্রমটি এড়াতে বাইপাস করতে পারেন:

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



4

আপডেট উত্তর (ডাব্লুডাব্লুডিসি 2016 পরে):

IOS apps will require secure HTTPS connections by the end of 2016

অ্যাপ ট্রান্সপোর্ট সিকিউরিটি বা এটিএস একটি বৈশিষ্ট্য যা অ্যাপল আইওএস ৯ এ প্রবর্তন করেছিল যখন এটিএস সক্ষম হয়, এটি কোনও অ্যাপ্লিকেশনটিকে কোনও সুরক্ষিত এইচটিটিপি না করে এইচটিটিপিএস সংযোগের মাধ্যমে ওয়েব পরিষেবাদিতে সংযোগ করতে বাধ্য করে।

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


এই বছরের শেষের পরে, https ব্যবহার না করেই নতুন অ্যাপ্লিকেশন বা আপডেট অ্যাপ্লিকেশনটি প্রত্যাখ্যান করা হবে। বাইপাস নিয়ে বিদ্যমান অ্যাপ সম্পর্কে কী? (আমাদের একটি ফোর্স আপডেট দরকার?)
পরণীতরণ সারাওয়ানপ্রেমাল

2
<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>com</key>
        <dict>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
        <key>net</key>
        <dict>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
        <key>org</key>
        <dict>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>

এটি .com .net .org এর সাথে সংযোগ স্থাপনের অনুমতি দেবে


একাধিক ডোমেন কীভাবে যুক্ত করবেন তা উদাহরণের জন্য আপনাকে ধন্যবাদ।
নাস্তিকপি 3 এ্যাস 20'15

2
<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>uservoice.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
        </dict>
    </dict>

1

পারাশার উত্তর সম্পর্কে আরও কিছুটা ব্যাখ্যা করতে: অ্যাপ ট্রান্সপোর্ট সুরক্ষা দেবে বাধ্যতামূলক এবং এটি চালু বন্ধ পেতে পারেন আপনার অ্যাপ প্রত্যাখ্যাত চেষ্টা হয়ে।

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

সমাধান যে আপনি অবশ্যইভবিষ্যতে ব্যবহার তা হ'ল http ব্যবহার করা নয়, আপনি যদি কোনও তৃতীয় পক্ষের সার্ভার ব্যবহার করেন যা https সমর্থন করে না। যদি আপনার নিজস্ব সার্ভার https সমর্থন না করে তবে অ্যাপল এর সাথে সমস্যা হবে। এমনকি তৃতীয় পক্ষের সার্ভারগুলির সাথেও, আমি বাজি ধরব না যে অ্যাপল এটি গ্রহণ করে।

সার্ভার সুরক্ষার জন্য বিভিন্ন চেক একই। এক পর্যায়ে অ্যাপল কেবলমাত্র ন্যায়সঙ্গত ব্যতিক্রমগুলি গ্রহণ করবে।

তবে বেশিরভাগ ক্ষেত্রে, এটি বিবেচনা করুন: আপনি আপনার গ্রাহকদের গোপনীয়তা বিপন্ন করছেন। এটি আমার বইয়ের একটি বড় নম্বর। এটা করবেন না। আপনার কোডটি ঠিক করুন, অনিরাপদ কোড চালানোর অনুমতি চাইবেন না।



1

ম্যাক শেল কমান্ড লাইনে , নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

plutil -insert NSAppTransportSecurity -xml "<array><string> hidden </string></array>" [location of your xcode project]/Info.plist 

কমান্ডটি আপনার প্লাস্ট ফাইলটিতে সমস্ত প্রয়োজনীয় মান যুক্ত করবে।


1

এক্সকোডি 8, সুইফট 3: আপনাকে একটি সারি যুক্ত করতে হবে: **

"অ্যাপ ট্রান্সপোর্ট সিকিউরিটি সেটিং"

** ইনফরমেশন.পলিট ইনফরমেশন তালিকার ভিতরে সম্পত্তি তালিকা।


0

এক্সকোড 9.2, সুইফট 4, এটি আমার পক্ষে কাজ করে।

<key>App Transport Security Settings</key>
<dict>
    <key>Allow Arbitrary Loads</key>
    <true/>
</dict>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.