ดีไหมถ้าทำงานบน WordPress ได้โดยไม่มีการขัดขวาง?
เสียดายที่ผู้ใช้ WordPress ต้องเจอปัญหาและข้อผิดพลาดบ่อยครั้ง ปัญหาที่พบบ่อยคือ อัปโหลดไฟล์ไม่สำเร็จ
WordPress จะแสดงข้อความผิดพลาดแบบนี้:
- sorry, this file type is not permitted for security reasons
- sorry, this file type is not permitted for security reasons.svg
- woocommerce sorry, this file type is not permitted for security reasons
- terminat.ttf sorry, this file type is not permitted for security reasons
เราคุ้นเคยกับข้อความนี้มาก เราช่วยเว็บไซต์หลายแห่งแก้ปัญหานี้และกลับไปเติบโตต่อ
บทความนี้จะแนะนำ:
- ทำไมจึงเกิดข้อผิดพลาดนี้
- วิธีแก้ไขโดยไม่เสี่ยงต่อความปลอดภัย
สรุปสั้น (TL;DR): เพื่อลบข้อจำกัดอัปโหลดและอัปโหลดไฟล์/โฟลเดอร์ประเภทใดก็ได้ ให้ติดตั้ง WP Extra File Types หรือ File Manager แต่เรา ไม่แนะนำ ให้ลบข้อจำกัด เพราะทำให้แฮกเกอร์โจมตีเว็บได้ง่ายขึ้น สำหรับวิธีแก้ที่ดีกว่า ดูที่ส่วนต่อไป
การปิดข้อจำกัดไฟล์เพื่ออนุญาตอัปโหลดทุกประเภท มีความเสี่ยงสูงมาก
ข้อผิดพลาด "Sorry, This File Type is Not Permitted For Security Reasons" เกิดขึ้นเมื่อพยายามอัปโหลดไฟล์ (รูปภาพ, เสียง, วิดีโอ) ที่ WordPress ไม่รองรับ (รายละเอียดด้านล่าง)
แต่คุณสามารถ繞ข้อจำกัดนี้ได้โดยใช้ปลั๊กอิน หรือแทรกโค้ดลงใน WordPress
แต่ การลบข้อจำกัดเป็นแนวทางที่ไม่ดี เพราะทำให้ WordPress 脆弱ต่อการโจมตี แฮกเกอร์สามารถฝัง Backdoor ได้ ซึ่งช่วยให้พวกเขาทำกิจกรรมร้ายได้:
- แทรกคีย์เวิร์ดภาษาญี่ปุ่นสแปม 破壞 SEO ของเว็บ
- สร้างหน้าเว็บขายยาเสพติดผิดกฎหมาย (Pharma Hack)
- Redirect ผู้เยี่ยมชมไปเว็บอันตราย เพื่อหลอกลวงสร้างรายได้
นี่คือเหตุผลที่ WordPress จำกัดประเภทไฟล์ที่อัปโหลดได้
การโดนแฮกไม่ใช่จบสิ้นโลก สามารถตรวจจับและทำความสะอาดได้ง่ายด้วย MalCare Security แต่ก็ดีกว่าที่ป้องกันไม่ให้โดนแฮกตั้งแต่แรก
ดังนั้น เราแนะนำวิธีแก้ที่ ไม่ต้องลบข้อจำกัดของ WordPress วิธีนี้ใช้เวลานานหน่อย หากเร่งด่วน สามารถลบข้อจำกัดชั่วคราวได้ แต่ต้องกลับมาทำวิธีปลอดภัยภายหลัง
เราจะแสดงทั้ง 2 วิธีในส่วนต่อไป
วิธีแก้ข้อผิดพลาด "Sorry, This File Type is Not Permitted For Security Reasons"
มี 2 วิธีแก้:
- วิธีถาวรและปลอดภัย (แนะนำ)
- วิธีชั่วคราวและเสี่ยง (ไม่แนะนำ)
เราแนะนำวิธีปลอดภัย แต่หากเร่งด่วน ใช้วิธาชั่วคราวได้ ต้องกลับมาทำวิธีถาวรภายหลังเพื่อป้องกันการโดนแฮก
วิธีแก้ถาวร (แนะนำ)
- หากข้อผิดพลาดเกิด หลังอัปเดต WordPress Core หรือปลั๊กอิน อาจเป็นบั๊กของ Core/ปลั๊กอิน ไม่ใช่ปัญหาประเภทไฟล์ ขอความช่วยเหลือจากฟอรัม WordPress หรือนักพัฒนาปลั๊กอิน
- หากเกิดหลัง ย้ายไปโฮสติ้งแบบ Managed เช่น Cloudways ติดต่อทีมสนับสนุนโฮสติ้ง
- หากเป็นประเภทไฟล์จริง ให้ แปลงไฟล์เป็นประเภทที่ WordPress รองรับ ดูรายการไฟล์ที่รองรับ ที่นี่ หรือค้นหาเครื่องมือแปลงไฟล์ออนไลน์ที่ไม่ลดคุณภาพ
วิธีข้างต้นใช้เวลานาน เราจะไปที่วิธีชั่วคราว
วิธีชั่วคราวด้วยปลั๊กอินหรือแทรกโค้ดด้วยตนเอง (เสี่ยงมาก)
ก่อนจะแสดงวิธี繞ข้อจำกัด สำรองข้อมูลเว็บไซต์ WordPress ให้ครบถ้วน มีโอกาสผิดพลาดสูง หากผิดพลาด สามารถกู้คืนได้เร็ว
หรือสร้าง Staging Site ทดสอบก่อน หากผิดพลาดเว็บจริงไม่ได้รับผลกระทบ ดูวิธี สร้าง Staging Site
ต่อไป...
เพื่อ繞ข้อจำกัด WordPress ให้ติดตั้งปลั๊กอิน WP Extra File Types หรือ File Manager ปลั๊กอินเหล่านี้มีรายการประเภทไฟล์ให้เลือก เลือกประเภทที่ต้องการอัปโหลด

หากไม่อยากติดตั้งปลั๊กอินเพิ่ม ให้ลบข้อจำกัดด้วยตนเอง:
- เข้าบัญชีโฮสติ้ง > cPanel > File Manager

- หาไฟล์ wp-config.php และแก้ไข

- วางโค้ดต่อไปนี้ลงในไฟล์:
define('ALLOW_UNFILTERED_UPLOADS', true);
วางโค้ด เหนือบรรทัด /* That's all, stop editing! Happy blogging. */

เคล็ดลับ: หากใช้ Multisite ไม่ต้องติดตั้งปลั๊กอินหรือแก้ไขไฟล์ ไปที่ Network Admin > Settings > Network Settings ส่วน Upload Settings จะมี Upload file types เพิ่มนามสกุลไฟล์ที่ต้องการอัปโหลดได้เลย
ถ้าวิธีแก้ล้มเหลว สำหรับ "Sorry, This File Type Is Not Permitted" ต้องทำไง?
หากแก้แล้วยังไม่ได้ ลองล้างแคช แล้วอัปโหลดใหม่ อาจเป็นเพราะแคช
ยังขึ้นข้อผิดพลาด? แสดงว่าไม่ใช่ประเภทไฟล์ที่เป็นปัญหา
ประเภทไฟล์บางอย่าง เช่น SWF และ EXE ถูกบล็อกแบบฮาร์ด (Hard-banned) การปรับตั้งค่า Multisite หรือติดตั้งปลั๊กอินอาจไม่ได้ผล
วิธีเดียวคือ อัปโหลดผ่าน FTP
ไฟล์สื่อทั้งหมดเก็บอยู่ในโฟลเดอร์ Uploads ใช้โปรแกรม FTP เช่น FileZilla อัปโหลดไฟล์เข้าโฟลเดอร์ Uploads
- ดาวน์โหลดและติดตั้ง FileZilla บนคอมพิวเตอร์
- เปิดโปรแกรม ใส่รายละเอียด FTP ที่ด้านบนหน้าต่าง หาข้อมูล FTP ได้จาก คู่มือนี้และวิดีโอ

- แผง Remote site จะแสดงไฟล์/โฟลเดอร์ของเว็บ ค้นหาโฟลเดอร์ public_html ขยายมัน

- ใน public_html ไปที่ wp-content > Uploads เนื้อหาโฟลเดอร์ Uploads จะแสดงด้านล่าง

- ย้ายไฟล์เสียง/วิดีโอ/รูปที่ต้องการอัปโหลด ไปที่โฟลเดอร์ Downloads บนคอมพิวเตอร์
กลับไปที่ FileZilla... แผง Local site จะมีโฟลเดอร์ Downloads เข้าถึงไฟล์ใน Downloads ของคอมพิวเตอร์ได้ ย้ายไฟล์จาก Downloads ไป Uploads
- คลิกที่ Uploads แล้วคลิกขวาที่ไฟล์ใน Downloads ที่ต้องการอัปโหลด เลือก Upload

- ไปที่แดชบอร์ด WordPress > Media > Library

ควรเห็นไฟล์บนเว็บไซต์ WordPress แล้ว
ได้ข้อผิดพลาดบนรูปแบบไฟล์ที่ WordPress รองรับอยู่แล้ว
กรณีนี้เกิดจากบั๊กของปลั๊กอินหรือธีมที่ติดตั้งอยู่
เราเคยเจอข้อผิดพลาดนี้ในปลั๊กอินที่ทำงานกับรูปภาพ เช่น สไลเดอร์ ปลั๊กอินแผนที่ ปลั๊กอินจัดการรูปภาพ เป็นต้น
แนะนำให้หาปลั๊กอินที่ก่อให้เกิดปัญหา และปิดใช้งาน หรือหาตัวแทน ดูวิธี Troubleshooting Plugin Problems
แนะนำให้ทดสอบบน Staging Site ก่อน การปิดปลั๊กอินอาจทำฟังก์ชันบางอย่างพัง ใช้ Staging Site ป้องกันไม่ให้เว็บจริงได้รับผลกระทบ
- ติดตั้งปลั๊กอินใหม่ล่าสุด? ปิดใช้งานแล้วลองอัปโหลด ยังไม่ได้?
- ปิดปลั๊กอินทีละตัว ทุกครั้งที่ปิด ลองอัปโหลด จนข้อผิดพลาดหาย = พบปลั๊กอินตัวผิด
- ต้องใช้ปลั๊กอินนั้น? หาตัวแทนแทน
- หาไม่เจอ? ลองปิดธีม ถ้ายังไม่ได้ ลองติดตั้ง Core ใหม่
ล้มเหลวหมด? ติดต่อโฮสติ้งขอความช่วยเหลือ
ทางออกสุดท้าย: โพสต์ขอความช่วยเหลือบนฟอรัม WordPress, นักพัฒนาปลั๊กอิน หรือกลุ่มเฟซบุ๊ค เช่น WordPress Help Zone, WordPress Secure
สาเหตุของข้อผิดพลาด
ข้อผิดพลาด "Sorry, This File Type Is Not Permitted for Security Reasons" เกิดขึ้นเมื่อพยายามอัปโหลดไฟล์ที่ WordPress ไม่รองรับ
ไฟล์ที่ WordPress รองรับ:
รูปภาพ:
.jpg, .jpeg, .png, .gif, .ico
เสียง:
.mp3, .m4a, .wav, .ogg
วิดีโอ:
.mp4, .mov, .m4v, .avi, .wmv, .mpg, .ogv, .3gp, .3g2
เอกสาร:
.pdf, .doc, .psd, .ppt, .pptx, .ppsx, .pps, .odt, .xlsx, .xls
หากพยายามอัปโหลดนอกเหนือจากนี้ จะเจอข้อผิดพลาด
ทำไม?
ไฟล์ที่ WordPress อนุญาต ไม่ใช่ไฟล์ที่รันได้ (Non-executable)
ไฟล์ที่รันได้ (Executable) คือ ไฟล์ที่สั่งให้ทำงานบน WordPress ได้ ไฟล์ pdf, mp3, jpeg, mp3 ไม่สามารถสั่งให้ทำงานได้ = ไม่สามารถทำลายได้
ไฟล์ที่ WordPress ไม่อนุญาต เช่น .exe, .woff เป็นไฟล์รันได้ อาจถูกทำลายและอัปโหลดเข้าเว็บ ให้แฮกเกอร์เข้าถึงเว็บได้ ดังนั้น WordPress จึงจำกัดประเภทไฟล์
หากอยากดูประเภทไฟล์ที่อนุญาตทั้งหมด เปิดไฟล์ functions.php ดู:

ต่อไปควรทำอะไร?
ยินดีด้วยที่แก้ปัญหาเสร็จ!
การอัปโหลดไม่ได้ทำให้หงุดหงิด ก่อให้เกิดความล่าช้า แม้จะเพื่อเหตุผลที่ดี
เราได้อธิบายไปแล้วว่า การ繞ข้อจำกัดไฟล์ ไม่ใช่แนวทางความปลอดภัยที่ดี
แต่บางครั้งบังคับต้องทำ ในกรณีนั้น แนะนำให้ เฝ้าระวังเว็บไซต์ ติดตั้งปลั๊กอินความปลอดภัย WordPress เช่น MalCare จะสแกนเว็บทุกวัน หากโดนแฮก จะตรวจจับและช่วยทำความสะอาด รวมถึงป้องกันトラฟฟิกอันตรายและ Brute Force
ติดตั้ง MalCare Security Service ทันที