আমরা একটি ওয়েব অ্যাপে কাজ করছি, যেখানে (অন্যান্য বৈশিষ্ট্যগুলির মধ্যে) আমাদের ব্যবহারকারীরা তাদের ফাইলগুলি আপলোড করতে পারেন। তবে আমরা এই ফাইলগুলিকে আমাদের ভিপিএসে সঞ্চয় করতে পারি না কারণ স্টোরেজ স্পেস সীমিত, তাই আমরা S3 এর সাথে যাওয়ার সিদ্ধান্ত নিয়েছি।
প্রধান সমস্যাটি হ'ল আমাদের অবশ্যই নিশ্চিত করতে হবে যে ব্যবহারকারীরা কেবল তাদের নিজস্ব ডেটা অ্যাক্সেস করতে পারবেন। সুতরাং আমরা আমাদের ডাটাবেসে ফাইলগুলির তালিকা এবং তাদের অ্যাক্সেস ব্যবহারকারীর তালিকা রাখি। আমাদের সার্ভারটি সহজেই সিদ্ধান্ত নিতে পারে যে কোনও ব্যবহারকারীর একটি ফাইল অ্যাক্সেস আছে কি না। তবে কীভাবে ব্যবহারকারীদের কাছে ফাইলগুলি পরিবেশন করা যায়?
কিছু সম্ভাবনা রয়েছে যা আমি ইতিমধ্যে বিবেচনা করেছি, তবে এগুলির কোনওটিই সেরাটি বলে মনে হচ্ছে না।
1. পিএইচপি দিয়ে স্বাক্ষরিত ইউআরএল তৈরি (মেয়াদ শেষ হয়ে)
এটি একটি খুব সহজ পদ্ধতির, এটি দ্রুতও তবে খুব কুৎসিত এবং দীর্ঘ url এর ফলাফল।
2. অবরুদ্ধ ইউআরএল
এর মানে হল, আমরা এস 3 তে পঠিত জন্য ফাইল পাবলিক রাখা, কিন্তু সব ফাইল হার্ড সংরক্ষিত হয় মত নামে ফোল্ডার অনুমান করা: 24fa0b8ef0ebb6e99c64be8092d3ede20000
। তবে, এটি যেতে সবচেয়ে নিরাপদ উপায় নয়। এমনকি আপনি যদি কোনও ফোল্ডারের নামটি অনুধাবন করতে না পারেন তবে এটি জানার পরে (কারণ আপনার কাছে এটির অ্যাক্সেস রয়েছে) তবে আপনি সেই লিঙ্কটি কারও সাথে ভাগ করতে পারেন (কোনও অনুমোদিত ব্যক্তি নয়)।
৩. আমাদের সার্ভারের মাধ্যমে ফাইলগুলি ডাউনলোড করুন
এর অর্থ হল যে ফাইলগুলি সরাসরি এস 3 দ্বারা পরিবেশন করা হয় না, তবে প্রথমে আমাদের সার্ভারটি এটি নিরাপদে পড়ে এবং এটি পরিবেশন করে। আমরা সত্যিই এটি চাই না :)
৪. রেফারার পরীক্ষা করা হচ্ছে
Obfuscated URL গুলি সমাধান "নিশ্চিত" অনুরোধ আমাদের সার্ভার থেকে আসে (আপনি রেফারার চেক করতে এস 3 সেট আপ করতে পারেন) দ্বারা উন্নত করা যায়। তবে এটি একটি খুব অবিশ্বাস্য সমাধান হতে পারে, কারণ সমস্ত ব্রাউজারগুলি রেফারার ডেটা প্রেরণ করে না এবং এটি নকলও হতে পারে।
বিভিন্ন ক্লায়েন্টের জন্য অ্যামাজন এস 3 থেকে নিরাপদে ফাইল পরিবেশন করার একটি ভাল উপায় কী?