حل ہوا: 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. یہ لائن ایکشن انتساب کے ساتھ ایک HTML فارم بناتی ہے جس کو "upload.php" پر سیٹ کیا جاتا ہے اور میتھڈ انتساب کو "post" پر سیٹ کیا جاتا ہے، ساتھ ہی enctype انتساب کو "multipart/form-data" پر سیٹ کیا جاتا ہے:

2. یہ لائن "fileToUpload" کے نام کے ساتھ اور "fileToUpload" کی ایک id کے ساتھ، قسم کی فائل کا ایک ان پٹ عنصر بناتی ہے، اور ".html" پر قبول وصف سیٹ کرتی ہے:

3. یہ لائن "اپ لوڈ ایچ ٹی ایم ایل فائل" کی قدر اور "جمع کروائیں" کے نام کے ساتھ، سبمٹ قسم کا ایک ان پٹ عنصر بناتی ہے:

4. یہ لائن فارم کو بند کر دیتی ہے:

فلٹرنگ اور فائل کی اہمیت کی تصدیق

ایچ ٹی ایم ایل میں فائل کی اہمیت کو فلٹر کرنا اور اس کی توثیق کرنا اس بات کو یقینی بنانے کا عمل ہے کہ ویب صفحہ پر صرف ضروری فائلیں اپ لوڈ کی جائیں۔ یہ ان فائلوں کی اقسام کے لیے قواعد اور پیرامیٹرز ترتیب دے کر کیا جا سکتا ہے جنہیں اپ لوڈ کیا جا سکتا ہے، جیسے فائل کا سائز، قسم، یا ایکسٹینشن۔ مزید برآں، HTML فارمز کو سرور پر جمع کرنے سے پہلے صارف کے ان پٹ کی توثیق کرنے کے لیے استعمال کیا جا سکتا ہے۔ اس سے اس بات کو یقینی بنانے میں مدد ملتی ہے کہ صرف درست ڈیٹا ہی قبول کیا جاتا ہے اور نقصان دہ کوڈ کو سرور پر لاگو ہونے سے روکتا ہے۔ آخر میں، فائلوں کو اپ لوڈ کرنے کے لیے محفوظ طریقے استعمال کرنا ضروری ہے جیسے کہ FTP کے بجائے HTTPS یا SFTP پروٹوکول استعمال کرنا۔

میں ایچ ٹی ایم ایل میں فائل کی اقسام کو کیسے روک سکتا ہوں۔

ایچ ٹی ایم ایل کا معیار فائل کی اقسام کو محدود کرنے کا کوئی طریقہ فراہم نہیں کرتا ہے۔ عنصر تاہم، آپ فائل کی قسم کو اپ لوڈ کرنے سے پہلے اسے چیک کرنے کے لیے JavaScript استعمال کر سکتے ہیں۔

ایسا کرنے کے لیے، آپ فائل کے مواد کو پڑھنے کے لیے FileReader API کا استعمال کر سکتے ہیں اور پھر اس کی قسم چیک کر سکتے ہیں۔ اگر یہ اجازت یافتہ اقسام میں سے ایک نہیں ہے، تو آپ اپنے چینج ہینڈلر میں پاس ہونے والے ایونٹ آبجیکٹ پر preventDefault() کو کال کرکے اسے اپ لوڈ ہونے سے روک سکتے ہیں۔

آپ اپنے پر HTML5 کا قبول وصف بھی استعمال کر سکتے ہیں۔ عنصر یہ بتانے کے لیے کہ کس قسم کی فائلوں کی اجازت ہے۔ اس کی وجہ سے براؤزر کے لیے مخصوص ڈائیلاگ باکس ظاہر ہوگا جب کوئی صارف ایسی فائل اپ لوڈ کرنے کی کوشش کرتا ہے جو قبول شدہ فارمیٹس میں سے ایک میں نہیں ہے۔

متعلقہ اشاعت:

ایک کامنٹ دیججئے