جديدالجمعة السوداء: خصم ٥٠٪ على دفعتك الأولى
استكشاف أخطاء ووردبريس

عذرا، هذا النوع من الملفات غير مسموح به لأسباب أمنية

تم رفض التحميل قبل كتابة أي شيء. إما أن الملحق غير موجود في القائمة المسموح بها ، أو أن محتويات الملف لا تتطابق مع الملحق.

Sorry, this file type is not permitted for security reasons.

الإجابة المختصرة

تحقق من ما هو الملف في الواقع بدلاً من ما يطلق عليه. يقوم WordPress بالتحقق من المحتويات ضد الامتداد ، لذلك يتم رفض ملف تمت إعادة تسميته حتى عندما يكون التمديد مسموحًا به - وهذا الفحص يحميك ولا يعيقك.

التشخيص

الأسباب الأرجح أولًا.

افحص القائمة بالترتيب. يتيح لك كل فحص تأكيد السبب أو استبعاده قبل تغيير أي شيء، لأن الحلول تختلف والتخمين يكلّف أكثر من تنفيذ أمر للتحقق.

السببكيفية التحققالإصلاح
التمديد غير موجود في القائمة المسموح بهاالتنسيقات الشائعة تحميل غرامة وهذا واحد لا. SVG ، WebP على الإصدارات القديمة ، وملفات الخط هي الأمثلة المعتادة.أضف النوع من خلال مرشح upload_mimes ، مع تسمية كل من الامتداد ونوع MIME الخاص به. أضف التنسيقات التي تحتاجها فقط بدلاً من فتح القائمة على نطاق واسع.
المحتويات لا تطابق الامتدادعند فحص الملف ، يبلغ عن نوع مختلف من اسمه - PNG المحفوظة كـ .jpg ، أو جدول بيانات تم تصديره كـ .csv وهو HTML حقًا.تحويل الملف بشكل صحيح بدلا من إعادة تسميته. WordPress يقارن النوع الحقيقي مع الامتداد على وجه التحديد للقبض على هذا ، وتجاوز الاختيار هو الرافعة الخاطئة.
يقيد Multisite التحميلات على نطاق الشبكةمسؤول الشبكة قوائم الإعدادات أنواع الملفات المسموح بها، والإضافية مفقود منه.إضافة التمديد إلى قائمة الشبكة. يتم تطبيقه بالإضافة إلى مرشح لكل موقع ، لذلك لن يتجاوز المرشح وحده ذلك.
SVG يتم رفض عمدافشل SVG فقط ، والملف صالح. لا يسمح Core بذلك افتراضيًا.السماح بذلك فقط مع التعقيم في مكانه. SVG هو XML الذي يمكنه حمل البرنامج النصي ، لذلك فإن التحميل غير المطهر هو متجه ترميز عبر الموقع مخزن بدلاً من صورة.
الدليل

الإصلاح خطوة بخطوة.

تفترض الأوامر توفر WP-CLI والوصول إلى سطر الأوامر. إن لم يتوفرا، تشرح كل خطوة الإجراء كي تنفذه من لوحة التحكم أو عبر SFTP.

  1. معرفة ما هو الملف حقا

    هذا يقرأ المحتويات ، وليس الاسم - نفس الشيء يفعله WordPress.

    file --mime-type -b broken-upload.jpg
  2. شاهد ما يسمح به WordPress حاليًا

    القائمة قابلة للتصفية ، لذلك يمكن أن تختلف عن الافتراضي الموثق.

    wp eval 'print_r( get_allowed_mime_types() );' | head -n 30
  3. اسمح بنوع إضافي محدد

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

    add_filter( 'upload_mimes', function ( $mimes ) {
        $mimes['webp'] = 'image/webp';
        return $mimes;
    } );
  4. تحويل بدلا من إعادة تسمية عندما أنواع لا توافق

    إعادة الترميز تنتج ملف محتوياته وامتداد المباراة، وهو ما يطلب الاختيار.

    magick input.jpg output.png
  5. أعد المحاولة وتأكد من أن النوع تم تخزينه

    يسجل التحميل الناجح نوع MIME الذي اكتشفه ؛ قراءة مرة أخرى تؤكد الإصلاح استغرق.

    wp post list --post_type=attachment --fields=ID,post_mime_type --posts_per_page=5
على MagicWP

ما تتولاه المنصة عنك.

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

الأسئلة الشائعة

الأسئلة الشائعة.

هل من الآمن السماح بتحميل SVG؟
فقط مع التعقيم. SVG هو XML ويمكن أن يحتوي على نص برمجي يعمل في سياق نطاقك عند فتح الملف مباشرة ، لذلك فإن SVG غير المطهر من مساهم غير موثوق به هو XSS مخزن ، وليس صورة.
لماذا يتم رفض ملف .csv الخاص بي عندما يكون CSV مسموحًا به؟
لأن المحتويات ليست CSV. الصادرات من أدوات جدول البيانات غالبا ما تكون HTML أو تنسيق Excel مع اسم .csv، وعدم التطابق هو بالضبط ما يمسك الاختيار. إعادة التصدير كنص فاصلة حقيقية مفصولة.
هل يجب علي استخدام AllOW_UNFILTERED_UPLOADS؟
لا. إنه يعطل الاختيار لكل مسؤول وكل تحميل ، مما يحول ملفًا واحدًا غير مريح إلى طريقة دائمة لوضع محتوى قابل للتنفيذ في webroot. اسمح بنوع معين بدلا من ذلك.
نفس الملف الذي تم تحميله العام الماضي. ما الذي تغير؟
إما أن القائمة المسموح بها قد ضاقت – وهو مكون إضافي أضاف النوع تمت إزالته – أو تم إعادة حفظ الملف بواسطة أداة غيرت تنسيقه الحقيقي مع الاحتفاظ بالاسم.
أخطاء مرتبطة

إن لم يكن هذا هو السبب.

قد تبدو هذه الأخطاء متشابهة في المتصفح.