যদি আমি কোনও ব্যবহারকারীর ইচ্ছাকৃত অন্যায়ের বিরুদ্ধে (হালকাভাবে বলার জন্য) সুরক্ষা যোগ করি, তবে যদি ব্যবহারকারীটির যে ক্ষতি হতে পারে তা আমার কোডের সাথে সম্পর্কিত না?
স্পষ্ট করার জন্য, আমি এই জাতীয় একটি সহজ JSON বিশ্রাম পরিষেবাটি প্রকাশ করছি:
GET /items - to retrieve list of user's items
PUT /items/id - to modify an item
POST /items - to add a new item
পরিষেবাটি নিজে ব্রাউজারের জন্য ব্যবহার করা নয়, তবে কেবল তৃতীয় পক্ষের অ্যাপ্লিকেশন থেকে, ব্যবহারকারী দ্বারা নিয়ন্ত্রিত (যেমন ফোন অ্যাপস, ডেস্কটপ অ্যাপ্লিকেশন ইত্যাদি)। এছাড়াও, পরিষেবাটি নিজেই স্টেটলেস (অর্থাত্ সেশন-কম) হওয়া উচিত।
প্রমাণীকরণ SSL এর মাধ্যমে বেসিক প্রমাণীকরণের মাধ্যমে সম্পন্ন হয়।
আমি এর মতো একটি সম্ভাব্য "ক্ষতিকারক" আচরণ সম্পর্কে বলছি:
ব্যবহারকারী একটি ব্রাউজারে জিইটি ইউআরএল প্রবেশ করে (কোনও কারণ ছাড়াই ...)। ব্রাউজারটি বেসিক অথের জন্য জিজ্ঞাসা করে, এটি প্রক্রিয়া করে এবং বর্তমান ব্রাউজিং সেশনের জন্য লেখককে সংরক্ষণ করে। ব্রাউজারটি বন্ধ না করেই ব্যবহারকারী দূষিত ওয়েবসাইটটি পরিদর্শন করে, এতে একটি দূষিত সিএসআরএফ / এক্সএসআরএফ জাভাস্ক্রিপ্ট রয়েছে যা আমাদের পরিষেবাদিতে একটি পোস্ট তৈরি করে।
উপরের দৃশ্যটি অত্যন্ত অসম্ভব, এবং আমি জানি যে ব্যবসার দৃষ্টিকোণ থেকে আমার খুব বেশি চিন্তা করা উচিত নয়। তবে পরিস্থিতির উন্নতির স্বার্থে, আপনি কি ভাবেন যে JSON পোস্টের ডেটাতেও যদি ব্যবহারকারীর নাম / পাসওয়ার্ড প্রয়োজন হয়, তবে সাহায্য করবে?
বা আমি কি বেসিক আথকে পুরোপুরি ছেড়ে দিতে পারি, জিইটি থেকে মুক্তি পাব এবং সেগুলিতে অনুমোদনের তথ্য সহ কেবলমাত্র পোষ্ট / পুট ব্যবহার করব? হিসাবে তথ্য উদ্ধার গর্ত জিইটি সংবেদনশীল হতে পারে।
অন্যদিকে, কাস্টম শিরোনামগুলি কি বিশুদ্ধ আরএসটি বাস্তবায়ন হিসাবে বিবেচনা করে? আমি বেসিক অ্যাথটি ড্রপ করতে পারি এবং কাস্টম শিরোনাম ব্যবহার করতে পারি। এইভাবে, কোনও ব্রাউজার থেকে কমপক্ষে সিএসআরএফ আক্রমণ এড়ানো যেতে পারে এবং পরিষেবাগুলি ব্যবহার করে এমন অ্যাপ্লিকেশনগুলি কাস্টম হিথারে ব্যবহারকারীর নাম / পাসওয়ার্ড সেট করবে। এই পদ্ধতির জন্য খারাপ, এখন ব্রাউজার থেকে পরিষেবাটি গ্রাস করা যাবে না।