ওয়েব অ্যাপ্লিকেশনের জন্য কীভাবে ব্যবহারকারীর পাসওয়ার্ডগুলি নিরাপদে সংরক্ষণ করতে হয় তা জিজ্ঞাসা করে মাঝে মাঝে আমি প্রশ্নগুলি দেখতে পাই (একটি আরডিবিএমএস ব্যবহার করে, আমি ফেসবুক বা টুইটারের কথা বলছি না)। সাধারণ উত্তরটি হ'ল পাসওয়ার্ডের নুন, তারপরে এটি শক্তিশালী অ্যালগরিদম যেমন TDES বা SHA512 এর সাথে হ্যাশ করুন।
আমার প্রশ্নটি: একজন আরডিবিএমএস ব্যবহারকারী হিসাবে, পাসওয়ার্ড সংরক্ষণের সমস্যাটি কেন আমি মোটেও বিরক্ত করব না কেন যেহেতু বেশিরভাগ ইঞ্জিনগুলির একটি অন্তর্নিহিত প্রমাণীকরণ প্রক্রিয়া থাকে।
উদাহরণস্বরূপ, যদি কোনও ব্যবহারকারীর এক্স আমার ওয়েব অ্যাপ্লিকেশনটিতে অ্যাকাউন্ট ব্যবহারকারী পাসওয়ার্ড ওয়াই তৈরি করতে চায় তবে নীচের ক্যোয়ারীটি কীভাবে ভুল প্রদান করা হচ্ছে:
CREATE USER X WITH ENCRYPTED PASSWORD Y IN GROUP baseuser;
তারপরে আমার অ্যাপ্লিকেশনটির মধ্যে, ব্যবহারকারী তার শংসাপত্রগুলি ব্যবহার করে ডাটাবেসের সাথে একটি সংযোগ খুলতে পারবেন এবং পাসওয়ার্ড পরিচালনার জন্য আমাকে মোটেই বিরক্ত করতে হবে না।
আমি এই পদ্ধতির একাধিক সুবিধা দেখছি:
- আরডিবিএমএস যদি সিদ্ধান্ত নেয় যে এনক্রিপশন অ্যালগরিদম পরিবর্তন করা দরকার, তবে সিকিউরিটি আপডেটগুলি প্রয়োগ করার জন্য আমাকে কোনও কিছু স্পর্শ করার দরকার নেই;
- ব্যবহারকারীদের অনুমোদনগুলি পরিচালনা করা আমার পক্ষে সহজ। যদি কোনও প্রশাসকের প্রশাসনের ভূমিকায় কোনও ব্যবহারকারীকে পদোন্নতি দেওয়া হয় তবে আমাকে কেবলমাত্র সংশ্লিষ্ট গোষ্ঠীতে যুক্ত করতে হবে;
- এসকিউএল ইনজেকশনগুলি এখন অর্থহীন, কারণ আমি ডাটাবেসে প্রতিটি ব্যবহারকারীর কাছে ঠিক কী অনুমতি দিতে চাই তা অনুমতি দেওয়ার জন্য অনুমতিগুলি পরিচালনা করি (উদাহরণস্বরূপ, এসও এর মতো ফোরামে, নতুন পোস্ট যুক্ত করা, পোস্টগুলিতে উত্তর দেওয়া, মন্তব্য করা এবং সম্পাদনা / নিজের প্রশ্ন মুছে ফেলা) / উত্তর / মন্তব্য);
- একটি ব্যবহারকারীর অ্যাকাউন্ট "বেনামে" আমার অ্যাপ্লিকেশনটিতে অযৌক্তিক সংযোগের জন্য ব্যবহার করা যেতে পারে;
- প্রতিটি ব্যবহারকারী তার সরবরাহ করা ডেটার মালিক।
তবে কার্যত প্রতিটি প্রশ্নের উপরে আমি এই বিষয়টিতে দেখছি, সেখানে একটি সাধারণ toক্যমত্য বলে মনে হচ্ছে যে জিনিসগুলি করতে হবে এমন নয়। আমার প্রশ্ন: কেন?
দ্রষ্টব্য: তৃতীয় দফা দ্বারা অনুমোদিত হয় নীতি পোস্টগ্রি, এবং নিরাপত্তা নীতি মাইক্রোসফট SQL সার্ভার হবে। আমি বুঝতে পারি যে এই ধারণাগুলি নবাগত, তবে যাইহোক, এখন তারা এখানে রয়েছে, আমি যে কৌশলটি বর্ণনা করি তা ব্যবহারকারীর অ্যাকাউন্টগুলি পরিচালনা করার মানক উপায় হয়ে ওঠে না কেন?