למטרת אבטחה, וורדפרס מאפשרת העלאה של סוגי קבצים נפוצים בלבד – תמונות, סרטונים ומסמכים. אבל לפעמים צריך להעלות קובץ עם סיומת שוורדפרס חוסמת כברירת מחדל, כמו SVG, PSD, או פורמט מותאם אישית.
במדריך זה תלמדו כיצד לאפשר סוגי קבצים נוספים, כיצד לחסום סוגים מסוימים, ומהן ההשלכות הביטחוניות של כל גישה.
וורדפרס קובעת את סוגי הקבצים המותרים על בסיס סוגי MIME. סוג MIME הוא תווית כמו
image/pngאוapplication/pdfשמזהה את פורמט הקובץ. וורדפרס מנהלת רשימת היתרים פנימית של סוגי MIME, וכל קובץ שלא תואם נדחה בזמן ההעלאה.
סוגי קבצים מותרים כברירת מחדל
וורדפרס מאפשרת את רוב סוגי הקבצים הנפוצים מהקופסה, כולל:
- תמונות: JPG, JPEG, PNG, GIF, ICO, WEBP (מ-WP 5.8), AVIF (מ-WP 6.5)
- מסמכים: PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX, ODT, PPS
- אודיו: MP3, M4A, OGG, WAV
- וידאו: MP4, MOV, AVI, WMV, MPEG, OGV, 3GP, WebM
הרשימה המלאה מוגדרת בפונקציה wp_get_mime_types() בליבת וורדפרס. לרשימה המלאה, עיינו בתיעוד הרשמי.
כיצד לאפשר סוגי קבצים נוספים
כדי לאפשר סוגי קבצים נוספים, השתמשו בפילטר upload_mimes. הוסיפו את הקוד הזה לקובץ functions.php של תבנית הבת:
add_filter( 'upload_mimes', function( $mime_types ) {
$mime_types['svg'] = 'image/svg+xml';
$mime_types['psd'] = 'image/vnd.adobe.photoshop';
$mime_types['ai'] = 'application/postscript';
$mime_types['eps'] = 'application/postscript';
return $mime_types;
} );כל שורה מוסיפה סיומת קובץ ממופה לסוג MIME שלה. כדי למצוא את סוג ה-MIME הנכון לפורמט כלשהו, חפשו אותו ברישום IANA Media Types.
הנה כמה סוגי MIME שנדרשים לעיתים קרובות:
| סיומת | סוג MIME | תיאור |
|---|---|---|
| .svg | image/svg+xml | Scalable Vector Graphics |
| .psd | image/vnd.adobe.photoshop | Adobe Photoshop |
| .ai / .eps | application/postscript | Adobe Illustrator / PostScript |
| .json | application/json | קבצי JSON |
| .woff / .woff2 | font/woff / font/woff2 | פונטים לווב |
אזהרת אבטחה לגבי SVG: קבצי SVG מבוססי XML ויכולים להכיל JavaScript מוטמע, מה שהופך אותם לווקטור התקפה פוטנציאלי של XSS. אם אתם מאפשרים העלאת SVG, הענקו הרשאות העלאה רק למשתמשים מהימנים, או השתמשו בתוסף כמו Safe SVG שמנקה את הקבצים בזמן ההעלאה.
אפשור כל סוגי הקבצים (לא מומלץ)
גישה נוספת היא להסיר את כל הגבלות סוגי הקבצים על ידי הוספת קבוע זה לקובץ wp-config.php:
define( 'ALLOW_UNFILTERED_UPLOADS', true );סיכון אבטחה: הגדרה זו מאפשרת העלאה של כל סוג קובץ, כולל קבצים הרצה כמו .php, .exe, או .sh. משתמש זדוני עם הרשאות העלאה יכול להעלות סקריפט PHP ולקחת שליטה מלאה על השרת. השתמשו בזה רק בסביבות פיתוח, לעולם לא באתר ייצור.
כיצד לחסום סוג קובץ מסוים
אם אתם רוצים למנוע העלאה של סוג קובץ מסוים, השתמשו באותו פילטר upload_mimes עם unset():
add_filter( 'upload_mimes', function( $mimes ) {
unset( $mimes['gif'] );
return $mimes;
} );קוד זה מסיר GIF מהסוגים המותרים. ניתן להסיר כל מפתח ממערך $mimes כדי לחסום פורמט זה.
חלופות באמצעות תוספים
אם אתם מעדיפים לא לערוך קוד, מספר תוספים מטפלים בכך:
- WP Extra File Types – מוסיף דף הגדרות שבו ניתן לסמן/לבטל סימון סוגי קבצים מותרים ללא כתיבת קוד
- Safe SVG – מאפשר העלאת SVG תוך ניקוי הקבצים מקוד שעלול להיות זדוני
- WP Add Mime Types – מאפשר להוסיף סוגי MIME מותאמים אישית מממשק הניהול של וורדפרס
פתרון בעיות בהעלאת קבצים
אם הוספתם סוג קובץ אבל ההעלאות עדיין נכשלות, בדקו את הסיבות הנפוצות הבאות:
- מגבלת גודל קובץ: הגדרות ה-PHP של השרת
upload_max_filesizeו-post_max_sizeעשויות להיות נמוכות מדי - הגבלות Multisite: בוורדפרס Multisite, רק Super Admins יכולים להעלות קבצים ללא סינון. להגדרות הרשת יש גם רשימת סוגי קבצים מותרים נפרדת תחת Network Admin > Settings
- חסימה ברמת השרת: שרת האינטרנט (Apache/Nginx) או תוסף אבטחה כמו Wordfence עשויים לחסום סוגי קבצים מסוימים ללא קשר להגדרות וורדפרס
- אימות קבצים: מאז וורדפרס 4.7.1, קבצים מאומתים מול התוכן שלהם ולא רק מול הסיומת. קובץ עם סיומת שלא תואמת את התוכן יידחה
לבעיות העלאת תמונות ספציפיות, עיינו במדריך תיקון בעיות העלאת תמונות בוורדפרס.
שאלות נפוצות
שאלות נפוצות על העלאת קבצים בוורדפרס:
file --mime-type filename בטרמינל. דוגמאות נפוצות: image/svg+xml ל-SVG, application/json ל-JSON, ו-font/woff2 לפונטים מסוג WOFF2.ALLOW_UNFILTERED_UPLOADS מסיר את כל ההגבלות על סוגי קבצים, ומאפשר העלאה של כל קובץ - כולל סקריפטי PHP וקבצי הרצה. זהו סיכון אבטחה קריטי. במקום זאת, השתמשו בפילטר upload_mimes כדי לאפשר רק את סוגי הקבצים הספציפיים שאתם צריכים. שמרו את ALLOW_UNFILTERED_UPLOADS לסביבות פיתוח מקומיות בלבד.סיכום
וורדפרס מגבילה העלאת קבצים לרשימת סוגי MIME בטוחים מסיבות אבטחה. כדי לאפשר סוגים נוספים, השתמשו בפילטר upload_mimes בקובץ functions.php של תבנית הבת כדי להוסיף סיומות ספציפיות.
הימנעו משימוש ב-ALLOW_UNFILTERED_UPLOADS באתרי ייצור, מכיוון שזה מסיר את כל ההגבלות ויוצר פרצת אבטחה רצינית. לקבצי SVG במיוחד, השתמשו בתוסף סניטציה כמו Safe SVG כדי למנוע התקפות XSS.
גרסאות וורדפרס מודרניות תומכות ב-WEBP (מגרסה 5.8) וב-AVIF (מגרסה 6.5) באופן מובנה – לא נדרש קוד מותאם עבור פורמטים אלו.


שלום רועי,
זו ההזדמנות לומר תודה ענקית על הפוסטים המושקעים והמקצועיים, שבאים בדיוק בזמן!!! מעריכה מאד! ונעזרת בהם המוווון… לא יודעת מה הייתי עושה בלי…
לגבי הפוסט הזה, שאלה: אם אפשר לדעת היכן אוכל למצא קוד לסוגי קבצים נוספים? למשל קובץ פאוור פוינט, אני לא מצליחה להעלות.
תודה רבה!!
תודה דסי, שמח לשמוע! 🙂
ניתן להעלות קבצי פאוור פוינט (PPT או PPTX) לספריית המדיה. וורדפרס מאפשרת זאת כברירת מחדל עבור קבצים אלו ועבור סוגי הקבצים הבאים…
תודה רבה על המענה. ניסיתי, ואני לא מצליחה להעלות דרך המדיה.
אולי משהו בהגדרות אחרות?
מה השגיאה שאת מקבלת?
לאחר מספר נסיונות הקובץ עלה לבסוף לאחר ששיניתי את שם הקובץ לשם באנגלית-אולי זו התשובה? לפני כן כתב שהקובץ לא מורשה מטעמי אבטחה.
תודה רבה על המענה האדיב. אין דברים כאלו!!
תצליח.
יש אפשרות לעזרה
אך ניתן לעלות קובץ ZIP שיש בו ממסד קובץ נתוני מלונות לאתר ווארדפרס ואך להשתמש במידע ?
תודה
היי רועי , לא הצלחתי לאפשר העלאה של קבצי CSV יש לך אפשרות להעיף מבט פה מה פספסתי?
זה מה שהוספתי ל function.php:
תודה רבה על כל ההשקעה.
זהו באג בוורדפרס ששאני מאמין ויתוקן בקרוב. בינתים אתה יכול להוסיף את הקוד הבא ל functions.php:
תודה רבה אח יקר!!! עובד מעולה
היי, תודה על כל מה שאתה כותב!
שאלה- איך אני מוסיפה קובץ מוזיקה מהמחשב שלי לאתר וורדפרס, אבדה? אני מנסה להעלות את הקובץ לספריה אבל היא לא "מקבלת" את הקובץ, כלומר כבר בחיפוש הקובץ לא מופיע.
היי מירה, מה סיומת קובץ המוזיקה שאת מנסה להעלות?
היי רועי, אחלה אתר תודה!
אני מנסה להעלאות קובץ vcf איך אני מעלה? לאיפה אני מעלה את הקוד? לעמוד הספציפי? אשמח להבין תודה
היי ישי,
עליך להוסיף את הקוד הבא לקובץ functions.php הנמצא בתיקייה הראשית של התבנית שלך על מנת לאפשר העלאה של קובץ VCF:
שים לב כי אין להוסיף את השורה הראשונה (שורת ה PHP הפותחת)…
היי רועי, תודה על המידע. איך מייצרים קובץ VCF?
איני יודע איך, אם אני לא טועה אז VCF זה פורמט שמשתמשים בו בד״כ עבור פנקסי כתובות וכדומה (Address Book).
היי, אחלה מאמר – תודה!
איך אני מעלה קובץ HTML לאתר? אני רוצה לאמת בעלות על הדומיין עבור G-SUITE וצריך להעלות HTML. אבל וורדפרס חוסם מטעמי אבטחה.
היי ישראל,
בשביל זה אתה צריך להעלות את הקובץ לתיקייה הראשית של האתר, לא יעבוד אחרת. את זה אתה יכול לעשות באמצעות FTP או דרך ה File Manager של שרת האחסון שלך.
הי רועי,
הוספתי את הקוד הבא וזה עדיין נותן לי שגיאה שלא מתאפשר להעלות קובץ wma מטעמי אבטחה
מה הבעיה?
היי מיקה,
הוסרה התמיכה בקבצי WMA ו WMV עד כמה שידוע לי. נסי אולי להשתמש בפילטר הבא בכדי לאפשר את השימוש באלו:
ניסיתי לעשות כנ"ל, פשוט העתק הדבק את הקוד לתוך הקובץ דרך ניהול האתר, ועדיין לא מתאפשר לעלות קובץ SVG. מה יכולה להיות הסיבה?
איני יודע מרים, אך את יכולה להשתמש בתוסף הבא ולבדוק אם עובד לך:
https://wordpress.org/plugins/svg-support/
היי, תודה רבה על המידע. הוספתי לקובץ functions.php את הקוד הבא:
אך עדיין מתקבלת אצלי השגיאה Sorry, this file type is not permitted for security reasons. אשמח לעזרתך להבין מדוע 🙂
היי רגב, הקוד שצירפת עובד לי גם עבור קבצי פוטושופ וגם עבור קבצי SVG. וודא שהוספת אותו במקום הנכון, אם אתה משתמש בתבנית בת אז עלייך להוסיפו ב functions.php של תבנית הבת.
קבצים שעשיתי להם המרה בפורמט פקטורי לא ניתנים לצפיה בוורדפרס, אשמח מאוד לדעת למה זה כך.. תודה
סליחה על התגובה המאוחרת משה…
היכן אתה מנסה? לצפות בהם ומה זה בדיוק פורמט פקטורי?
שלום וברכה,
ראשית, תודה רבה על הידע האדיר המקצועי והברור שאתה מעניק לנו! ועכשיו לבעיה שלי, אני מעונין להעלות קבצי תוכנה בסיומת exe לאתר, מהו קטע הקוד שאני צריך לכתוב. כלומר מהו תיאור הקובץ שצריך לכתוב אחרי הסיומת שבסוגריים המרובעים.
תודה רבה.
נסה את הקוד הבא:
ראשית אני מעריך אותך מאוד שבשעות לילה כאלה אתה יושב ועוזר לאנשים…. כל הכבוד!
שנית, הקוד לצערי לא עובד.
עדכנתי את הקוד – נסה שנית. בכל מקרה אני מציע כי תכווץ קבצים מסוג זה ותעלה אותם כ ZIP..
בהצלחה!
היי,
אשמח לדעת איך אפשר לתת ללקוח להעלות תמונה לאתר. לדוגמה, באתר של מתנות יש צורך להדפיס את המתנה על מוצר כלשהו.על הלקוח להעלות קובץ להדפסה על המוצר ושזה יועבר גם לסל הקניות.
תודה רבה על הכל
היי הודיה,
לצערי הביצוע דורש הסבר מעבר לסקופ שאני יכול לספק בתגובות. את מוזמנת להתחיל בפוסט הבא בכל אופן… בהצלחה!
תודה רבה על העזרה והמהירות…. אין מילים.
שלום,
אשמח להבין איך להעלות קבצי וורד ואקסל לאתר וורדפרס.
תודה רבה!
את יכולה להשתמש בקוד הבא בקובץ functions.php:
תודה ענקית!
קבצי אקסל אכן עולים עכשיו בהצלחה. קבצי וורד עדיין לא…
הנה ההודעה שקיבלתי:
קובץ משימה 5.docx
סוג הקובץ אינו מורשה מטעמי אבטחה.
מממ, עדכנתי את הפוסט, נסי אולי את האפשרות דרך wp-config.php.
פעלתי לפי כל ההוראות למעלה, ואני לא מצליח להעלות לאתר קבצים עם סיומת WEBP. האם הקוד הנצרך הוא כהיום שונה?
באיזו גרסת וורדפרס אתה משתמש?
הכי חדש.
בסוף עדכנתי גם את ה PHP להכי חדש, ואז יכולתי להעלות תמונות אפילו מבלי להוסיף את הקוד הזה.
מצויין, לכן שאלתי איזו גרסה… 🙂