ক্লায়েন্ট-সাইড কোডিং: কীভাবে দূষিত ব্যবহার রোধ করা যায়?


60

গত কয়েক বছর ধরে, ক্লায়েন্ট-সাইড (ব্রাউজার) অ্যাপ্লিকেশনগুলির প্রবণতাটি সত্যিই বন্ধ হয়ে গেছে।

আমার সর্বশেষ প্রকল্পের জন্য, আমি চেষ্টা করেছি এবং সময়গুলির সাথে সরানো এবং একটি ক্লায়েন্ট-সাইড অ্যাপ্লিকেশন লিখব।

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

সাধারণত আমার অ্যাপ্লিকেশনটি একটি সার্ভারে চলমান। আমি আমার সার্ভারের কোড থেকে তৃতীয় পক্ষের এপিআই কল করব।

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

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

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

আমার অনুমান আমার সাধারণ প্রশ্নটি - আমরা কীভাবে ক্লায়েন্ট-সাইড অ্যাপ্লিকেশনটির দূষিত ব্যবহার রোধ করতে পারি?


24
এই অ্যাপটি আপনার নিজের সার্ভারের সাথে যোগাযোগ করার কোনও কারণ নেই এবং তারপরে আপনার সার্ভারটি আপনাকে যে কোনও বাহ্যিক পরিষেবা ব্যবহার করার দরকার আছে সেই অনুরোধগুলি ফরোয়ার্ড করে? (এ জাতীয় অনেক পরিষেবা
সেভাবে এগুলি

11
এ কারণেই এপিআই কীগুলি শেষ পর্যন্ত অর্থহীন। সার্ভারটি যে অ্যাপটি এটির আদেশ পাঠিয়েছে তাতে বিশ্বাস করার চেষ্টা করা উচিত নয়; এটি শুধুমাত্র ব্যবহারকারীর উপর বিশ্বাস করা উচিত।
কেভিন প্যাঙ্কো

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

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

2
সুরক্ষিত সংস্থানগুলির ক্লায়েন্ট-পক্ষকে রক্ষার যে কোনও প্রয়াস সর্বনাশ করা হয়েছে কারণ এটি সুরক্ষার বেশ কয়েকটি অপরিবর্তনীয় আইন লঙ্ঘন করে। # 2/3 - যদি আপনার সফ্টওয়্যারটি আপনার প্রতিপক্ষের কম্পিউটারে চলতে থাকে তবে এটি সংজ্ঞা অনুসারে আপনার কম্পিউটার নয় এবং আপনি ইতিমধ্যে হেরে গেছেন। # 7 এনক্রিপশন দ্বারা কোনও সংস্থান রক্ষা করার চেষ্টা করা হয়েছে, কারণ আপনাকে ক্লায়েন্টকে ডিক্রিপশন কী সরবরাহ করতে হবে। # 10 কোনও প্রযুক্তি উপরেরটিকে ঠিক করতে পারে না। blogs.technet.com/b/rhalbheer/archive/2011/06/16/…
ড্যান

উত্তর:


200

আপনি পারবেন না এবং যত বেশি লোক এটি বুঝতে পারে এবং তারা যত গভীরভাবে বুঝতে পারে তা বিশ্বের জন্য ততই মঙ্গল।

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

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

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

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


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

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

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

11
@ গাজ_এডেজ এটি লক্ষ্য করা গুরুত্বপূর্ণ যে এখানে সমস্যাটি ক্লায়েন্ট-সাইড অ্যাপস অন্তর্নিহিতভাবে সুরক্ষিত নয় । সমস্যাটি এই ক্লায়েন্টের পার্শ্ব অ্যাপ্লিকেশনগুলিকে এমনভাবে লিখছে যার জন্য আপনি সর্বজনীন হতে চান না এমন তথ্যের সাথে ক্লায়েন্টকে বিশ্বাস করা দরকার। কোনও ক্লায়েন্ট-ভারী অ্যাপ্লিকেশন লেখা সম্পূর্ণভাবে সম্ভব যা কোনও অ্যাপ্লিকেশনের মতোই সুরক্ষিত যেখানে বেশিরভাগ সার্ভারে প্রক্রিয়াজাতকরণ ঘটে। (তার আরও তথ্যের জন্য, ঝককির উত্তর দেখুন )
আজেদি 32

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

69

এখানে নিয়মটি হ'ল:

ক্লায়েন্ট-সাইড এমন সমস্ত কিছু করুন যা ব্যবহারকারী এটির সাথে টেম্পার করে যদি অন্য কাউকে প্রভাবিত করে না। বিশেষত এর অর্থ গ্রাফিকাল এফেক্টস।

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


28

এটি ঠিক ক্ষেত্রে যেখানে এটি তৈরীর একটি সম্পূর্ণরূপে ক্লায়েন্ট-সাইড আবেদন হয় না উপযুক্ত।

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


11
নোট: ফর্ম ক্লায়েন্টের পক্ষে বৈধতা দেওয়ার পক্ষে এটি দুর্দান্ত, তবে তাদের সার্ভারের দিকটিও বৈধতা দিতে কখনও ভুলবেন না! আপনি যখন নিজের ক্লায়েন্ট কোডটি ব্রাউজারে প্রেরণ করবেন তখন এটি আপনার কোড হওয়া বন্ধ করে দেয়! আপনাকে প্রেরিত প্রতিটি বিটটি আবার যাচাই করতে হবে!
জোসেফ

17

আপনার মাঝারি অনুচ্ছেদটি সমস্যার কেন্দ্রস্থল:

ক্লায়েন্টের সাইড অ্যাপ্লিকেশন চালানোর অর্থ এটি এখন একজন ব্যবহারকারী ব্রাউজারে হওয়া দরকার। তৃতীয় পক্ষের এপিআই এটি অর্জনের জন্য প্রয়োজনীয় জেএস ফাইল সরবরাহ করে।

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

.jsআপনি যে ফাইলটি পেয়েছেন, আপনি কি নিশ্চিত যে এটি ব্রাউজারের জন্য বোঝানো হয়েছে? এটি একটি নোড.জেএস লাইব্রেরি হতে পারে?


4
জেএস ফাইলটি কোনও নোডজেএস সার্ভারের জন্য তৈরি হ'ল সত্যিই ভাল পরামর্শের জন্য +1
মেশিনারিয়াস

11

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

আপনার ব্রাউজার (যেমন ক্লায়েন্ট পাশ) অ্যাপ একই আর্কিটেকচার ব্যবহার করতে পারে।

  1. আপনি আপনার সার্ভারটি একটি এপিআই দিয়ে তৈরি করেন (যা বিটিডাব্লু সর্বদা GET POST HEAD ইত্যাদির ডেরিভেটিভগুলিতে উত্সাহিত হয়)।
  2. সার্ভারে, নিশ্চিত হয়ে নিন যে এপিআই কেবলমাত্র প্রতিটি কলের জন্য একটি প্রমাণীকৃত এবং পরিচয় যাচাই করা ক্লায়েন্টের সাথে কথা বলে।
  3. তারপরে আপনি ক্লায়েন্ট কে সেদিকে খেয়াল রাখবেন না।
  4. এবং তারপরে আপনি ব্রাউজার, জেলব্রোকেন ডিভাইস, গুগল গ্লাস, ডস ৩.১, বা একটি টেকনোফোবি গ্রেট-গ্রেট-গ্রেট-দাদাদের হাতে ব্র্যান্ড নিউ নেক্সাস যা 2014 এ ভ্রমণ করেছেন এবং সমস্ত কিছু মিস করেছেন তা আপনার যত্ন নেই don't প্রযুক্তিটি যা গত 15 দশকে আমাদের জীবন বয়ে চলেছে।
  5. এখন আপনি ক্লায়েন্ট পক্ষের সমস্ত কিছু থেকে অফ-লোডিং শুরু করতে পারেন।

SoapBoxBegin

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

SoapBoxEnd

তাই সংক্ষেপে। একটি শক্ত এবং টাইট সার্ভার সাইড এপিআই করুন। ক্লায়েন্ট যা কিছু পরিচালনা করতে পারে তার উপর ভিত্তি করে ক্লায়েন্টকে অন্য সমস্ত কিছু অফলোড করুন।


6

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

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

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


4

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

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

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

স্বীকার করা যায়, বাস্তবায়ন সমস্যা, তবে গুরুত্বপূর্ণ বিষয় হ'ল মানসিক মনোভাব, এমন ধারণা যে আপনার "সার্ভার" আপনার সার্ভারের সাথে কথা বলেছে তা ক্লায়েন্ট নয় বরং একটি সক্রিয় আক্রমণকারী।

(আপনার এটিও ধরে নেওয়া দরকার যে ব্যবহারকারী একজন চতুর কনমান্ড যিনি আপনার ব্যবসায়ের পদ্ধতিগুলিতে আক্রমণ করার চেষ্টা করবেন তবে ক্লায়েন্ট-সাইড প্রোগ্রামিংয়ের সাথে এর কোনও যোগসূত্র নেই)।


0

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

সাধারণত আমার অ্যাপ্লিকেশনটি একটি সার্ভারে চলমান। আমি আমার সার্ভারের কোড থেকে তৃতীয় পক্ষের এপিআই কল করব।

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

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

এটির মতো এটির মতো যদি আপনার ব্যাঙ্কটি বলে: "আচ্ছা, আমি মূল ডাটাবেস ক্লায়েন্টের পাসওয়ার্ডটি রাখছি যাতে ক্লায়েন্ট নিজেই এটির জন্য অনুরোধ করতে পারে এবং সে আমাদের সার্ভারগুলিকে আর বিরক্ত করবে না।"

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