วิธีอัปโหลดไฟล์ PUB (หรือ octet-stream อื่น ๆ ) ไปยัง WordPress เมื่อคุณไม่สามารถอนุญาตการอัปโหลดที่ไม่มีการกรอง

บริษัทปัจจุบันของฉันต้องการอัปโหลดไฟล์ Microsoft Publisher ไปยังเพจที่มีการป้องกันด้วยรหัสผ่านใน WordPress ตรวจสอบแล้วประเภท mime คือ application/octet-stream และ ไม่ใช่ application/x-mspublisher ในมุมมองของเซิร์ฟเวอร์ WordPress

ฉันรู้ว่าเราสามารถปิดใช้งานการกรองรูปแบบได้ทั่วโลกใน wp-config.php (ตามที่แนะนำที่นี่: Wordpress: ขออภัย ไฟล์ประเภทนี้ไม่ได้รับอนุญาตด้วยเหตุผลด้านความปลอดภัยเมื่อพยายามอัปโหลดไฟล์รูปภาพมาตรฐาน) เช่นนี้:

define(‘ALLOW_UNFILTERED_UPLOADS’, true);

...แต่ฉันอยากจะหลีกเลี่ยงสิ่งนั้นจริงๆ นั่นเป็นฝันร้ายของการรักษาความปลอดภัยที่กำลังจะเกิดขึ้น Imo

ฉันรู้ด้วยว่าสามารถปิดใช้งานการกรองรูปแบบในสำเนาชั่วคราว อัปโหลดไฟล์ จากนั้นเปิดใช้งานอีกครั้งได้ ฉันกำลังทำสิ่งนั้นในเวลานี้ อย่างไรก็ตาม ฉันต้องการให้ทีมสามารถอัปโหลดไฟล์ผู้เผยแพร่ในอนาคตได้โดยไม่จำเป็นต้องให้นักพัฒนาเข้ามาแทรกแซง

ฉันลองใช้รหัสนี้ในไฟล์ functions.php ของธีมลูกของฉันแล้ว แต่ก็ยังใช้งานไม่ได้

function my_custom_upload_mimes($mimes = array()) {
    $mimes['pub'] = "application/octet-stream";
    return $mimes;
}

add_action('upload_mimes', 'my_custom_upload_mimes');

ฉันยังใช้อักษรตัวพิมพ์ใหญ่เป็น $mimes['PUB'] และนั่นก็ใช้ไม่ได้เช่นกัน

นี่คือข้อความแสดงข้อผิดพลาดที่ฉันยังคงได้รับ: Sorry, this file type is not permitted for security reasons.

มีใครเขียนโค้ดข้างต้นแล้วคิดว่าเหตุใดจึงยังใช้งานไม่ได้


person Josh Austin    schedule 03.10.2018    source แหล่งที่มา