HTML ফিল্টার ফাইল আপলোড সম্পর্কিত প্রধান সমস্যা হল যে এটি সহজেই বাইপাস করা যায়। এইচটিএমএল ফিল্টারগুলি নির্দিষ্ট ধরণের ফাইলগুলিকে আপলোড করা থেকে ব্লক করার জন্য ডিজাইন করা হয়েছে, তবে ফাইল এক্সটেনশন পরিবর্তন করে বা ফাইল হেডার সম্পাদনা করার জন্য একটি টুল ব্যবহার করে সেগুলিকে বাইপাস করা যেতে পারে। এর মানে হল যে ক্ষতিকারক ফাইলগুলি এখনও আপলোড করা যেতে পারে, সম্ভাব্য নিরাপত্তা দুর্বলতা এবং ডেটা লঙ্ঘনের দিকে পরিচালিত করে৷ অতিরিক্তভাবে, এইচটিএমএল ফিল্টারগুলি একটি ফাইলের মধ্যে দূষিত কোড সনাক্ত করতে সক্ষম হয় না, তাই এমনকি যদি একটি দূষিত ফাইল আপলোড করা থেকে অবরুদ্ধ করা হয়, তবুও এটিতে ক্ষতিকারক কোড থাকতে পারে যা সার্ভারে কার্যকর করা যেতে পারে।
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="fileToUpload" id="fileToUpload" accept=".html"> <input type="submit" value="Upload HTML File" name="submit"> </form>
1. এই লাইনটি "upload.php"-এ সেট করা অ্যাকশন অ্যাট্রিবিউট এবং মেথড অ্যাট্রিবিউট "পোস্ট"-এ সেট করে একটি HTML ফর্ম তৈরি করে, সেইসাথে এনটাইপ অ্যাট্রিবিউটকে "মাল্টিপার্ট/ফর্ম-ডেটা"-তে সেট করে:
ফাইলের গুরুত্ব ফিল্টারিং এবং যাচাই করা
HTML-এ ফাইলের গুরুত্ব ফিল্টারিং এবং যাচাইকরণ হল একটি ওয়েব পেজে শুধুমাত্র প্রয়োজনীয় ফাইল আপলোড করা নিশ্চিত করার একটি প্রক্রিয়া। ফাইলের আকার, প্রকার বা এক্সটেনশনের মতো আপলোড করা যেতে পারে এমন ফাইলগুলির জন্য নিয়ম এবং পরামিতি সেট আপ করে এটি করা যেতে পারে। উপরন্তু, HTML ফর্মগুলি সার্ভারে জমা দেওয়ার আগে ব্যবহারকারীর ইনপুট যাচাই করতে ব্যবহার করা যেতে পারে। এটি নিশ্চিত করতে সাহায্য করে যে শুধুমাত্র বৈধ ডেটা গ্রহণ করা হয়েছে এবং সার্ভারে দূষিত কোড কার্যকর করা থেকে বাধা দেয়। অবশেষে, ফাইল আপলোড করার জন্য নিরাপদ পদ্ধতি ব্যবহার করা গুরুত্বপূর্ণ যেমন FTP এর পরিবর্তে HTTPS বা SFTP প্রোটোকল ব্যবহার করা।
আমি কিভাবে HTML এ ফাইলের ধরন সীমাবদ্ধ করব
এইচটিএমএল স্ট্যান্ডার্ড একটি ব্যবহার করার সময় ফাইলের প্রকারগুলিকে সীমাবদ্ধ করার উপায় প্রদান করে না উপাদান যাইহোক, আপনি জাভাস্ক্রিপ্ট ব্যবহার করে ফাইলের ধরনটি আপলোড করার আগে পরীক্ষা করতে পারেন।
এটি করার জন্য, আপনি ফাইলের বিষয়বস্তু পড়ার জন্য FileReader API ব্যবহার করতে পারেন এবং তারপরে এর ধরন পরীক্ষা করতে পারেন। এটি অনুমোদিত প্রকারের একটি না হলে, আপনি আপনার পরিবর্তন হ্যান্ডলারে পাস করা ইভেন্ট অবজেক্টে preventDefault() কল করে এটি আপলোড হওয়া থেকে আটকাতে পারেন।
এছাড়াও আপনি আপনার HTML5 এর অ্যাট্রিবিউট ব্যবহার করতে পারেন কোন ধরনের ফাইল অনুমোদিত তা নির্দিষ্ট করার জন্য উপাদান। এটি একটি ব্রাউজার-নির্দিষ্ট ডায়ালগ বক্স প্রদর্শিত হবে যখন একজন ব্যবহারকারী একটি ফাইল আপলোড করার চেষ্টা করে যা একটি গৃহীত বিন্যাসে নেই৷