نصائح

السماح بتحميل الملفات باستخدام PHP

السماح بتحميل الملفات باستخدام PHP


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

01 من 06

نموذج HTML

إذا كنت ترغب في السماح لزوار موقع الويب الخاص بك بتحميل الملفات إلى خادم الويب الخاص بك ، فعليك أولاً استخدام PHP لإنشاء نموذج HTML يتيح للأشخاص تحديد الملف الذي يريدون تحميله. على الرغم من أن جميع الشفرات يتم تجميعها لاحقًا في هذه المقالة (جنبًا إلى جنب مع بعض التحذيرات حول الأمان) ، يجب أن يبدو هذا الجزء من التعليمات البرمجية كما يلي:

يرجى اختيار ملف:

يرسل هذا النموذج البيانات إلى خادم الويب الخاص بك إلى الملف المسمى "upload.php" ، والذي تم إنشاؤه في الخطوة التالية.

02 من 06

تحميل الملف

تحميل الملف الفعلي بسيط. تقوم هذه الشفرة الصغيرة بتحميل الملفات المرسلة إليها بواسطة نموذج HTML الخاص بك.

$ target = "upload /"؛
الهدف $ = الهدف $. basename ($ _FILES'uploaded''name ')؛
$ طيب = 1؛ if (move_uploaded_file ($ _ FILES'uploaded''tmp_name '، $ target))

صدى "الملف". اسم الملف ($ _FILES'uploadedfile''name '). " تم تحميله"؛
}  
آخر
echo "عذرًا ، حدثت مشكلة أثناء تحميل ملفك."؛

?>

السطر الأول $ target = "upload /"؛ هو المكان الذي تقوم فيه بتعيين المجلد حيث يتم تحميل الملفات. كما ترى في السطر الثاني ، هذا المجلد مرتبط بـ upload.php ملف. إذا كان الملف الخاص بك موجودًا على www.yours.com/files/upload.php ، فسيتم تحميل الملفات إلى www.yours.com/files/upload/yourfile.gif. تأكد من أنك تتذكر إنشاء هذا المجلد.

بعد ذلك ، يمكنك نقل الملف الذي تم تحميله إلى المكان الذي ينتمي إليه باستخدام move_uploaded_file (). هذا يضعه في الدليل المحدد في بداية البرنامج النصي. إذا فشل هذا ، يتم إعطاء المستخدم رسالة خطأ. خلاف ذلك ، يتم إعلام المستخدم بأنه تم تحميل الملف.

03 من 06

الحد من حجم الملف

قد ترغب في الحد من حجم الملفات التي يتم تحميلها على موقع الويب الخاص بك. على افتراض أنك لم تقم بتغيير حقل النموذج في نموذج HTML ، فلا يزال اسمه "محمّل" - يتحقق هذا الرمز لمعرفة حجم الملف. إذا كان حجم الملف أكبر من 350 ألفًا ، فسيحصل الزائر على خطأ "ملف كبير جدًا" ، ويعين الرمز $ ok على قدم المساواة 0.

إذا كان ($ uploaded_size> 350000)

صدى "الملف الخاص بك كبير جدًا.
";  
$ طيب = 0؛
}

يمكنك تغيير حد الحجم ليكون أكبر أو أصغر عن طريق تغيير 350000 إلى رقم مختلف. إذا كنت لا تهتم بحجم الملف ، فاترك هذه الخطوط.

04 من 06

الحد من الملفات حسب النوع

يعد وضع قيود على أنواع الملفات التي يمكن تحميلها على موقعك وحظر تحميل أنواع معينة من الملفات من الحكمة.

على سبيل المثال ، يتحقق هذا الرمز للتأكد من عدم تحميل الزائر ملف PHP إلى موقعك. إذا كان ملف PHP ، فسيتم إعطاء الزائر رسالة خطأ ، ويتم تعيين $ ok على 0.

if ($ uploaded_type == "text /فب") 

صدى "لا توجد ملفات PHP
"; 
$ طيب = 0؛
}

في هذا المثال الثاني ، يُسمح فقط بتحميل ملفات GIF على الموقع ، ويتم إعطاء جميع الأنواع الأخرى خطأ قبل تعيين $ ok إلى 0.

إذا (! ($ uploaded_type == "image / gif")) {
echo "يمكنك فقط تحميل ملفات GIF.
"; 
$ طيب = 0؛
}

يمكنك استخدام هذين المثالين للسماح أو رفض أي أنواع ملفات محددة.

05 من 06

ضع كل شيء معا

بتجميعها معًا ، تحصل على هذا:

$ target = "upload /"؛
الهدف $ = الهدف $. basename ($ _FILES'uploaded''name ')؛
$ طيب = 1؛
 
// هذا هو حجمنا الشرط
إذا كان ($ uploaded_size> 350000)
 { 
صدى "الملف الخاص بك كبير جدًا.
"; 
$ طيب = 0؛
 } 
 
// هذا هو شرط نوع ملف الحد الخاص بنا
إذا ($ uploaded_type == "text / php")
 { 
صدى "لا توجد ملفات PHP
"; 
$ طيب = 0؛
 } 
 
/ / نحن هنا نتحقق من أن $ ok لم يتم ضبطه على 0 بسبب خطأ
إذا ($ موافق == 0)
 { 
صدى "عذرًا ، لم يتم تحميل ملفك" ؛
 } 
 
/ / إذا كان كل شيء على ما يرام فإننا نحاول تحميله
آخر
 { 
if (move_uploaded_file ($ _ FILES'uploaded''tmp_name '، $ target))
 { 
صدى "الملف". اسم الملف ($ _FILES'uploadedfile''name '). " تم تحميله"؛
 } 
آخر
 { 
echo "عذرًا ، حدثت مشكلة أثناء تحميل ملفك."؛
 } 
 } 
؟> var13 ->

قبل إضافة هذا الرمز إلى موقع الويب الخاص بك ، تحتاج إلى فهم الآثار الأمنية الموضحة في الشاشة التالية.

06 من 06

الأفكار النهائية حول الأمن

إذا سمحت بتحميل الملفات ، فأنت تترك مفتوحة للأشخاص الذين يرغبون في تفريغ الأشياء غير المرغوب فيها. من بين الاحتياطات الحكيمة عدم السماح بتحميل أي ملفات PHP أو HTML أو CGI ، والتي قد تحتوي على تعليمات برمجية ضارة. هذا يوفر بعض السلامة ، لكنه ليس متأكداً من الحماية من الحرائق.

هناك احتياطي آخر يتمثل في جعل مجلد التحميل خاصًا بحيث يمكنك رؤيته فقط. ثم عندما ترى التحميل ، يمكنك الموافقة عليه ونقله أو إزالته. اعتمادًا على عدد الملفات التي تتوقع استلامها ، قد يكون هذا مستهلكًا للوقت وغير عملي.

من الأفضل الاحتفاظ بهذا البرنامج النصي في مجلد خاص. لا تضعه في مكان يمكن للجمهور استخدامه فيه ، أو قد ينتهي بك الأمر بخادم مليء بالملفات غير المجدية أو المحتملة الخطورة. إذا كنت تريد حقًا أن يتمكن الجمهور العام من التحميل إلى مساحة الخادم الخاصة بك ، فاكتب أكبر قدر ممكن من الأمان.



تعليقات:

  1. Acair

    أهنئ ، إنه ببساطة فكرة ممتازة

  2. Arajind

    يا لها من الكلمات الصحيحة ... سوبر ، فكرة رائعة

  3. Rayne

    يمكنني أن أوصي بزيارة الموقع مع قدر كبير من المعلومات حول الموضوع الذي يثير اهتمامك.

  4. Curtice

    لا يمكنني المشاركة في المناقشة الآن - أنا مشغول جدًا. سأعود - سأعرب بالتأكيد عن رأيي.

  5. Anbessa

    برافو ، جملة واحدة ... فكرة أخرى



اكتب رسالة