রিট্যাক্টসের সাহায্যে স্থানীয় স্টোরারেজেডব্লিউটি সংরক্ষণ করা কি নিরাপদ?


147

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




3
"স্থানীয় স্টোরেজে কোনও সংবেদনশীল তথ্য না রাখার পরামর্শ দেওয়া হচ্ছে।" -ওউএসপি "কোনও অবিচলতা ছাড়াই এগুলিকে স্মৃতিতে সঞ্চয় করুন" -আউথ0
আজেজিদা

আমি মনে করি Auth0 সম্ভবত এ সম্পর্কে তাদের দৃষ্টিভঙ্গি বদলেছে - কারণ প্রদত্ত লিঙ্কে আমি উপরের উদ্ধৃতিটি খুঁজে পাচ্ছি না
ডাউলডকে

উত্তর:


141

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

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

টম অ্যাবট জেডাব্লুটি টি সেশন স্টোরেজ এবং লোকালস্টোরেজ সুরক্ষা সম্পর্কে ভালভাবে সংক্ষিপ্তসার জানিয়েছে :

ওয়েব স্টোরেজ (লোকালস্টোরেজ / সেশনস স্টোরেজ) একই ডোমেনে জাভাস্ক্রিপ্টের মাধ্যমে অ্যাক্সেসযোগ্য। এর অর্থ হল যে আপনার সাইটে চলমান যে কোনও জাভাস্ক্রিপ্টের ওয়েব স্টোরেজে অ্যাক্সেস থাকবে এবং এর কারণে ক্রস-সাইট স্ক্রিপ্টিং (এক্সএসএস) আক্রমণে ঝুঁকিপূর্ণ হতে পারে । সংক্ষেপে, এক্সএসএস হ'ল ধরণের দুর্বলতা যেখানে কোনও আক্রমণকারী জাভাস্ক্রিপ্ট ইনজেক্ট করতে পারে যা আপনার পৃষ্ঠায় চলবে। বেসিক এক্সএসএস আক্রমণগুলি ফর্ম ইনপুটগুলির মাধ্যমে জাভাস্ক্রিপ্ট ইনজেক্ট করার চেষ্টা করে, যেখানে আক্রমণকারী <script>alert('You are Hacked');</script>একটি ব্রাউজার দ্বারা চালিত হয় কিনা তা দেখার জন্য একটি ফর্ম রাখে এবং অন্যান্য ব্যবহারকারীরা এটি দেখতে পারবেন।

এক্সএসএস প্রতিরোধের জন্য, সাধারণ প্রতিক্রিয়া হ'ল সমস্ত অবিশ্বস্ত ডেটা এড়ানো এবং এনকোড করা। প্রতিক্রিয়া (বেশিরভাগ) আপনার জন্য তা করে! এক্সএসএস দুর্বলতা সুরক্ষা কতটা দায়বদ্ধ তা নিয়ে এখানে একটি দুর্দান্ত আলোচনা

কিন্তু এটি সমস্ত সম্ভাব্য দুর্বলতাগুলি কভার করে না! আর একটি সম্ভাব্য হুমকি হ'ল সিডিএন বা বাইরের অবকাঠামোতে হোস্ট করা জাভাস্ক্রিপ্টের ব্যবহার

টম আবার এখানে:

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

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

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


10
সুতরাং আমি যদি আপনাকে সঠিকভাবে বুঝতে পারি তবে আপনি কুকি সুপারিশ করবেন? ঠিক নিশ্চিত করার জন্য. ধন্যবাদ!
সুপারলমন

7
হ্যাঁ. তারা সরবরাহ করা অতিরিক্ত সুরক্ষা এবং আধুনিক ওয়েব ফ্রেমওয়ার্ক সহ সিএসআরএফের বিরুদ্ধে সুরক্ষার সরলতার কারণে আমি কুকিগুলির পরামর্শ দিই। ওয়েব স্টোরেজ (লোকালস্টোরেজ / সেশনস স্টোরেজ) এক্সএসএসের পক্ষে ঝুঁকিপূর্ণ, এর আক্রমণভাগের বৃহত্তর অঞ্চল রয়েছে এবং এটি সফল প্রয়োগে সমস্ত অ্যাপ্লিকেশন ব্যবহারকারীকে প্রভাবিত করতে পারে।
কালায়ন কোসেভ

48
আমার মনে হয় এগুলি মিশে গেছে? এক্সএসএসের জন্য সুরক্ষার জন্য আধুনিক ওয়েব ফ্রেমওয়ার্কগুলি শক্তিশালী অন্তর্নির্মিত। তবে এক্সএসআরএফের জন্য তেমন কিছু নয়। এক্সএসআরএফের জন্য সর্বোত্তম প্রতিরক্ষা হ'ল সম্পূর্ণ কুকিজ ব্যবহার না করা। স্থানীয় স্টোরেজটি নির্দিষ্ট ডোমেনে স্যান্ডবক্সযুক্ত, যার অর্থ আক্রমণকারী ডোমেন এটি অ্যাক্সেস করতে পারে না। ওয়েব ফ্রেমওয়ার্কগুলি স্বয়ংক্রিয়ভাবে এনকোডিং এবং ব্যবহারকারীর ইনপুট স্যানিটাইজ করে এক্সএস এর বিরুদ্ধে রক্ষা করে। কৌণিক.ইও
সুরক্ষা

47
যদি "আপনি কুকিজের পরিবর্তে [পরিবর্তে]" সুপারিশ করেন, তবে, আমি কি উত্তরটি কোথাও বলার পরামর্শ দিতে পারি? বরং কেবল মন্তব্যে?
স্পিটার

7
আমি এখানে কিছুটা দেরি করেছি, কেবল এখন এই বিষয়গুলি পড়ছি এবং আমি একটি জিনিস সম্পর্কে বিভ্রান্ত হয়েছি, প্রচুর লোকেরা আপনাকে এইচএসএসের সাথে সম্মতি জানালে কেবল একটি কুকি দ্বারা সুরক্ষিত থাকার বিষয়ে কথা বলে, তবে, যদি আপনার এক্সএসএস থাকে অ্যাটাকারের আপনাকে কোনও জিনিস চুরি করার দরকার নেই, তিনি সেই কুকিটি ব্যবহার করে আপনার ছদ্মবেশ তৈরি করার জন্য পৃষ্ঠা থেকে একটি পোস্ট তৈরি করতে পারেন (এমনকি তিনি এটি চুরি করতে না পারলেও)। আমি কিছু অনুপস্থিত করছি???
বোরজা আলভারেজ

35

আমি জানি এটি একটি পুরানো প্রশ্ন তবে @ মাইকেজোনস 1477 যা বলেছে, আধুনিক ফ্রন্ট এন্ড লাইব্রেরি এবং ফ্রেমওয়ার্কগুলি আপনাকে এক্সএসএসের বিরুদ্ধে সুরক্ষা দেওয়ার পাঠ্য থেকে দূরে রয়েছে। শংসাপত্রগুলি ব্যবহার করে কুকিজগুলি নিরাপদ পদ্ধতি না হওয়ার কারণ হ'ল লোকাল স্টোরেজ যখন কুকিগুলি সিএসআরএফকে বাধা দেয় না (এছাড়াও মনে রাখবেন যে কুকিজ জাভাস্ক্রিপ্ট দ্বারাও অ্যাক্সেসযোগ্য, সুতরাং এক্সএসএস এখানে বড় সমস্যা নয়), এই উত্তরটি কেন আবার শুরু হয়

স্থানীয় স্টোরেজে কোনও প্রমাণীকরণ টোকেন সংরক্ষণ এবং ম্যানুয়ালি এটিকে প্রতিটি অনুরোধে সিএসআরএফ থেকে রক্ষা করার কারণটি মূল শব্দ: ম্যানুয়াল। যেহেতু ব্রাউজারটি স্বয়ংক্রিয়ভাবে সেই লেখক টোকেনটি প্রেরণ করছে না, যদি আমি খারাপ ডট কম দেখি এবং এটি কোনও পোষ্ট http://example.com/delete-my-account প্রেরণ পরিচালনা করে তবে এটি আমার লেখক টোকেনটি প্রেরণ করতে সক্ষম হবে না, তাই অনুরোধ উপেক্ষা করা হয়।

অবশ্যই http কেবলমাত্র পবিত্র গ্রিল তবে আপনি রিএ্যাকটিজ বা আপনার পাশের কোনও জেএস ফ্রেমওয়ার্ক থেকে অ্যাক্সেস করতে পারবেন না এখনও সিএসআরএফ দুর্বলতা রয়েছে। আমার প্রস্তাবটি লোকাল স্টোরেজ হবে বা আপনি যদি কুকিজ ব্যবহার করতে চান তবে নিশ্চিত করুন যে সিএসআরএফ সমস্যার কিছু সমাধান কার্যকর করা উচিত যেমন জ্যাঞ্জোর মতো

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


2
কুকিজ ব্যবহার করার সময় আপনি কেন সিএসআরএফের পক্ষে ঝুঁকির কারণ বলবেন তা নিশ্চিত নয়। পতাকা সহ একটি কুকি ব্যবহার করা HttpOnly SameSite=strictএবং secure, আপনি কুকিগুলিতে সেট করা তথ্য সুরক্ষিত রাখবেন। এক্সএসএসের বিপরীতে, আপনি কেবল নিশ্চিত করে নিন যে আপনার জাভাস্ক্রিপ্ট কোনও প্রামাণিকতা সম্পর্কিত ডেটা, যেমন টোকেন এবং পাসওয়ার্ড সম্পর্কে (যেমন, ওয়েব স্টোরেজে সংরক্ষণ করবেন না) সম্পর্কে অবগত নয় - আপনি যদি কোনও দূষিত স্ক্রিপ্ট আমদানি করেন তবে সেই স্ক্রিপ্টটিতে অ্যাক্সেস থাকবে না সংবেদনশীল তথ্য। হ্যাঁ, আপনিও জেএসের মাধ্যমে টোকেনে অ্যাক্সেস পাবেন না, তবে এটি আসলে কোনও সমস্যা হওয়া উচিত নয়।
মিপ

@ মিফ আমি এটাই বলেছি। তবে ওপি জাভাস্ক্রিপ্ট থেকে অ্যাক্সেসের জন্য একটি উপায় জিজ্ঞাসা করছে। এখানে আমি কেবল ব্যাখ্যা করছি যে জেএস থেকে অ্যাক্সেসযোগ্য টোকেন সঞ্চয় করার সর্বোত্তম উপায় কী।
মৌরিসিও কর্টাজার

21

মূলত এটি আপনার স্থানীয় স্টোরেজে আপনার জেডাব্লুটিটি সংরক্ষণ করা ঠিক আছে।

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

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

আবারও সংরক্ষণ করা ঠিক আছে, এক্সএসএস, সিএসআরএফ, এর পক্ষে ঝুঁকির মধ্যে পড়ুন ... নয়


2
এ কারণেই এটি নিম্নলিখিত কাজগুলিতে করা নিরাপদ: - জেএসডাব্লুটিটি কোনও কুকিতে সংরক্ষণ করুন যাতে এটি এক্সএসএস থেকে পুনরুদ্ধার করা যায় না - স্থানীয় স্টোরেজে সিএসআরএফ টোকেন সংরক্ষণ করুন - এটি সিএসআরএফ থেকে পুনরুদ্ধার করা যায় না
আলেজান্দ্রো কাভাজোস

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

8

আপনি সিডিএন ব্যবহার করলে এটি নিরাপদ নয়:

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

ঝড়ের মধ্য দিয়ে

বাইরে থেকে আপনার যে কোনও স্ক্রিপ্টের প্রয়োজন হবে তা সম্ভাব্যভাবে আপস হতে পারে এবং আপনার ক্লায়েন্টের স্টোরেজ থেকে কোনও জেডব্লিউটিএস দখল করতে পারে এবং আক্রমণকারীর সার্ভারে ব্যক্তিগত ডেটা ফেরত পাঠাতে পারে।


6
আমি যদি সিডিএনএস ব্যবহারের পরিকল্পনা না করি তবে কি এটি নিরাপদ হবে?

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

5

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

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

সুতরাং কুকিগুলি প্রমাণীকরণের ডেটা সংরক্ষণের জন্য আরও সুরক্ষিত পছন্দ।


পাওয়া যায় না: কীভাবে এইচটিটিপি আপনাকে সিএসআরএফ থেকে রক্ষা করতে পারে?
অ্যালেক্স লিয়ালকা

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

1
ঠিক আছে, যদি কেউ আপনার ওয়েবে কোড চালায় তবে তিনি কি আপনার ব্যবহারকারীর নামে আপনার ওয়েবের জন্য একটি পোস্ট করতে পারবেন? ঠিক আছে, সে আপনার পোষ্টটি কেবল কুকিজ পেতে পারে না তবে সে এই কুকিগুলি ব্যবহার করে কল করতে পারে, তাই আমি এখনও বিষয়টিটি দেখতে পাচ্ছি না
বোরজা আলভারেজ

2
@ বোরজাআলভেরেজ একটি বড় পার্থক্য রয়েছে। হ্যাঁ, এক্সএসএসের মাধ্যমে কেউ লগ-ইন করা ব্যবহারকারীর পক্ষে অনুরোধ করতে পারে, তবে একটি টোকেনের সাথে আপস করা আরও খারাপ is উদাহরণস্বরূপ: টোকেন ক্লায়েন্ট অ্যাপ্লিকেশন ব্যবহার করে না এমন এপিআইগুলিতে অ্যাক্সেস সরবরাহ করতে পারে; টোকনে ব্যবহারকারীর সম্পর্কে অন্যান্য তথ্য থাকতে পারে (ইমেল ঠিকানা, প্রোফাইল এবং অনুদান); টোকেনটি আপনার আবেদনের বিরুদ্ধে রিপ্লে আক্রমণে ব্যবহার করা যেতে পারে; টোকেনটি id_token_hintএকটি ওআইডিসি প্রমাণীকরণের সার্ভারে পাস হিসাবে যেতে পারে ; টোকেনটি সাইফার সম্পর্কে আক্রমণকারী সম্পর্কিত তথ্য সরবরাহ করে যা এটি সাইন করতে ব্যবহৃত হয়েছিল; ইত্যাদি
আভেজিদাঃ

3

এটি দেখার একটি উপায় হ'ল ঝুঁকি বা ক্ষতির স্তর বিবেচনা করা।

আপনি কি কোনও ব্যবহারকারী, পোক / এমভিপি নিয়ে একটি অ্যাপ তৈরি করছেন? আপনি কি এমন একটি স্টার্টআপ যাঁকে দ্রুত বাজারে যেতে এবং আপনার অ্যাপ্লিকেশনটি দ্রুত পরীক্ষা করা দরকার? যদি হ্যাঁ, আমি সম্ভবত কেবলমাত্র সহজ সমাধানটি বাস্তবায়ন করব এবং পণ্য-বাজার-ফিট সন্ধানে ফোকাস বজায় রাখতে পারি। এটি প্রয়োগ করা প্রায়শই সহজ হিসাবে লোকালস্টোরেশন ব্যবহার করুন।

আপনি কি অনেক দৈনিক সক্রিয় ব্যবহারকারী বা এমন অ্যাপ্লিকেশন সহ একটি অ্যাপ্লিকেশনটির ভি 2 তৈরি করছেন যা লোক / ব্যবসায় প্রচুরভাবে নির্ভরশীল? হ্যাক করা মানে কি পুনরুদ্ধারের জন্য সামান্য বা কোনও জায়গা নেই? যদি তা হয় তবে আমি আপনার নির্ভরতাগুলিতে দীর্ঘক্ষণ নজর রাখব এবং কেবলমাত্র একটি HTTP- র কুকিতে টোকেন তথ্য সংরক্ষণ করার বিষয়টি বিবেচনা করব।

লোকালস্টোরেজ এবং কুকি / সেশন স্টোরেজ উভয়ের ব্যবহারের নিজস্ব উপকারিতা এবং কনস রয়েছে।

যেমন প্রথম উত্তরে বলা হয়েছে: আপনার অ্যাপ্লিকেশনটিতে যদি একটি এক্সএসএস দুর্বলতা থাকে তবে আপনার ব্যবহারকারীকে উভয়ই রক্ষা করতে পারে না। যেহেতু বেশিরভাগ আধুনিক অ্যাপ্লিকেশনগুলির এক ডজন বা আরও বেশি নির্ভরশীলতা রয়েছে তাই আপনার আবেদনের একটি নির্ভরতা এক্সএসএস ঝুঁকিপূর্ণ নয় এমন গ্যারান্টি দেওয়া ক্রমশ কঠিন হয়ে পড়েছে।

আপনার অ্যাপ্লিকেশনটিতে যদি কোনও এক্সএসএস দুর্বলতা থাকে এবং কোনও হ্যাকার এটি কাজে লাগাতে সক্ষম হয়, তবে হ্যাকার আপনার ব্যবহারকারীর পক্ষে ক্রিয়া সম্পাদন করতে সক্ষম হবেন। হ্যাকার লোকালস্টোরেজ থেকে টোকেন পুনরুদ্ধার করে জিইটি / পোষ্ট অনুরোধগুলি সম্পাদন করতে পারে বা টোকন কেবলমাত্র এইচপি-তে কেবল কুকিতে সঞ্চিত থাকলে পোষ্ট অনুরোধগুলি সম্পাদন করতে পারে।

স্থানীয় স্টোরেজে আপনার টোকেন সংরক্ষণ করার একমাত্র ডাউন-সাইড হ্যাকার হ'ল আপনার টোকেনটি পড়তে সক্ষম হবে।


1

লোকালস্টোরেজ বা HTTP কেবল কুকিই গ্রহণযোগ্য নয়? আপোষযুক্ত তৃতীয় পক্ষের লাইব্রেরির ক্ষেত্রে, আমি কেবলমাত্র তার সমাধান জানি যে সংবেদনশীল তথ্যগুলি চুরি হওয়া থেকে হ্রাস / প্রতিরোধ করবে তা হ'ল সাব্রোসোর্স ইন্টিগ্রিটি প্রয়োগ করা হবে ।

সাবসোর্স ইন্টিগ্রিটি (এসআরআই) হ'ল একটি সুরক্ষা বৈশিষ্ট্য যা ব্রাউজারগুলি যাচাই করা সংস্থানগুলি যাচাই করতে সক্ষম করে (উদাহরণস্বরূপ, সিডিএন থেকে) অপ্রত্যাশিত কারসাজি ছাড়াই সরবরাহ করা হয়। এটি আপনাকে একটি ক্রিপ্টোগ্রাফিক হ্যাশ সরবরাহ করার অনুমতি দিয়ে কাজ করে যা একটি ফিচার রিসোর্সের সাথে মিলে যায়।

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

একটি HTTP কেবল কুকি অন্য কম্পিউটার থেকে অ্যাক্সেস রোধ করবে তবে হ্যাকারকে ব্যবহারকারীর কম্পিউটারে কৌশল থেকে রক্ষা করতে কিছুই করবে না।


-10

আপনার টোকেন যতক্ষণ না আপনি এটিকে এনক্রিপ্ট করেন ততক্ষণ স্থানীয় স্টোরেজে সংরক্ষণ করা নিরাপদ। নীচে একটি সংক্ষেপিত কোড স্নিপেট রয়েছে যা আপনি এটি করতে পারেন এমন অনেক উপায়ে।

    import SimpleCrypto from 'simple-crypto-js';

    const saveToken = (token = '') => {
          const encryptInit = new SimpleCrypto('PRIVATE_KEY_STORED_IN_ENV_FILE');
          const encryptedToken = encryptInit.encrypt(token);

          localStorage.setItem('token', encryptedToken);
     }

তারপরে, আপনার টোকেনটি ব্যবহার করার আগে ডিক্রিপ্ট ব্যবহার করুন PRIVATE_KEY_STORED_IN_ENV_FILE


@ হাসানআলতাফ যদি আপনি এখানে বিন্দুটি অনুপস্থিত থাকেন তবে এখানে কখনও ১০০% সুরক্ষিত প্রুফ অ্যাপ থাকবে না, এটি ঠিক যে আপনি আক্রমণ পৃষ্ঠকে হ্রাস করছেন এবং কমপক্ষে এনভি ফাইলটি সরাসরি গিথুবে প্রকাশিত হবে না। এছাড়াও, বান্ডেলযুক্ত কোডটি অবরুদ্ধ এবং ম্যাঙ্গেল করা হবে, যা আক্রমণকারীদের তাদের খুঁজে পাওয়া শক্ত করে তোলে।
কিদালি কেভিন

ব্যক্তিগত কী উন্মুক্ত করার কথা নয়। আপনি পুরো এপিআইতে আপস করবেন।
হাসান আলতাফ

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