עודכן לאחרונה: · מאת עשהאל דרייר
בקצרה: האפשרות Direct PHP File Access בפאנל של קלאודוויז (Cloudways) חוסמת הרצה ישירה של קבצי PHP בתיקיות wp-content ו-wp-includes, ובראשן uploads, שם פורצים נוהגים להשתיל קבצי webshell. באתר שלנו זה לקח קליק, אישור וכ-20 שניות. אחר כך קריאה ישירה לקובצי PHP של תוספים קיבלה 403, והאתר, ה-REST API, מפת האתר, wp-cron ו-admin-ajax המשיכו לעבוד. אף תוסף לא נשבר (נמדד ב-7.11.2026).
⏱ זמן ביצוע: 2 דקות, ועוד 10 דקות לבדיקה · רמת קושי: קל · נבדק לאחרונה מול הפאנל והאתר שלנו: 07.11.2026
בקצרה: מה קרה אצלנו אחרי החסימה (נמדד ב-7.11.2026)
| מה בדקנו | התוצאה |
|---|---|
| זמן הפעלה | קליק אחד ואישור, כ-20 שניות, בלי השבתה של האתר |
| קובצי PHP תחת wp-content/plugins, uploads ו-wp-includes | 403 בקריאה ישירה |
| דף הבית, REST API (wp-json), מפת האתר, wp-cron.php | 200, כמו לפני |
| admin-ajax.php | עובד (400 בלי פרמטר action, שזו התשובה הרגילה של וורדפרס) |
| תוספים | Elementor Pro, Yoast, Imagify, Redirection ו-Object Cache Pro עובדים, אף שגיאה |
| xmlrpc.php | היה חסום ב-403 עוד לפני, בשכבת Cloudflare |
| wp-login.php ב-curl | 403, אבל מאתגר ה-Cloudflare הקיים ולא מהחסימה. דפדפן רגיל עובר |
מה זה Direct PHP File Access בקלאודוויז?
זו הגדרה ברמת האפליקציה שקובעת אם מותר לגלוש ישירות לכתובת של קובץ PHP בתוך תיקיות התוכן והליבה של וורדפרס. כשהגישה חסומה, השרת מסרב להריץ קובץ כמו /wp-content/uploads/2026/11/x.php גם אם מישהו הצליח להעלות אותו.
וורדפרס עצמו לא צריך את הגישה הזו. כל דף באתר נטען דרך index.php בשורש, והתוספים נטענים מתוכו. קבצי ה-PHP בתוך התיקיות נכללים בקוד, ולא אמורים להיפתח ישירות מהדפדפן.
לפי מאמר העזרה של קלאודוויז, באפליקציה חדשה הגישה הישירה חסומה כברירת מחדל. באפליקציות ותיקות, או כאלה שמישהו פתח בעבר, היא עשויה להיות פתוחה. אצלנו היא הייתה פתוחה עד 7.11.2026.
למה כדאי לחסום גישה ישירה לקבצי PHP?
כי זו הדרך הנפוצה ביותר להפוך פרצה בתוסף לשליטה מלאה באתר. פורץ שמנצל חולשת העלאת קבצים משתיל קובץ PHP קטן, webshell, ואז פשוט גולש אליו ומריץ פקודות בשרת.
ארגון האבטחה OWASP מתאר בדיוק את התרחיש הזה וממליץ שלתיקיית ההעלאות לא תהיה הרשאת הרצה. גם מדריך ההקשחה הרשמי של וורדפרס ממליץ לחסום גישה לקבצי PHP ב-wp-includes כשכבת הגנה נוספת.
זה לא תאורטי. במקרה הפריצה דרך התוסף WP File Manager הקבצים הזדוניים ישבו בתוך wp-content. חסימה כזו לא מונעת את ההעלאה, אבל היא מונעת מהקובץ שהועלה לרוץ כשגולשים אליו. זו שכבה אחת מתוך כמה, ולא תחליף להגנה מנוזקות ולעדכוני תוספים.
מה לעשות לפני שמפעילים את החסימה?
- גבו את האפליקציה. החסימה לא נוגעת בקבצים, אבל גיבוי טרי זה הרגל טוב לפני כל שינוי. ראו גיבוי ושחזור בקלאודוויז.
- הריצו את בדיקת ה-curl שבהמשך ושמרו את התוצאות. בלי "לפני", קשה לדעת מה השתנה.
- רשמו את התוספים שיש להם קובץ PHP שנקרא ישירות מבחוץ: סקריפט הורדה, callback של סליקה, מחולל תמונות ישן. אלה המועמדים להישבר.
- אתר רגיש (חנות, טפסי תשלום)? נסו קודם בסביבת Staging.
איך חוסמים Direct PHP File Access בפאנל? שלב אחר שלב
- היכנסו לפאנל הניהול ובחרו My Applications (האפליקציות שלי), ואז את האתר.
- תחת Application Management (ניהול אפליקציה) בחרו Application Settings.
- עברו ללשונית WordPress בראש המסך וגללו עד Direct PHP File Access.
- שימו לב לניסוח ההפוך: לפי קלאודוויז, Disable אומר שהגישה הישירה חסומה, ו-Enable אומר שהיא מותרת. אם המתג דולק, כבו אותו.
- אשרו בחלון הקופץ ב-Confirm. אצלנו הודעת האישור הופיעה בפינה אחרי כ-20 שניות.
איך בודקים עם curl שהחסימה עובדת?
מריצים את אותה רשימת כתובות לפני ואחרי, ומשווים קודי תשובה. הכתובות החסומות צריכות לעבור ל-403, והכתובות של האתר החי צריכות להישאר 200.
for p in / /wp-json/ /sitemap_index.xml /wp-cron.php /wp-admin/admin-ajax.php \
/wp-content/plugins/wordpress-seo/wp-seo.php /wp-includes/version.php \
/wp-content/uploads/test.php; do
printf "%s " "$p"; curl -s -o /dev/null -w "%{http_code}\n" "https://example.co.il$p"
done
החליפו את example.co.il בדומיין שלכם, ואת wp-seo.php בקובץ של תוסף שמותקן אצלכם. הקובץ test.php לא צריך להתקיים: אחרי החסימה גם קובץ PHP שלא קיים בתיקייה כזו מקבל 403, כי הכלל עובד לפי הנתיב.
ה-403 הגיע מהשרת או מ-Cloudflare?
אם האתר מאחורי Cloudflare, בדקו את גוף התשובה. לפי התיעוד של Cloudflare, דף 403 עם המיתוג שלהם מגיע מ-Cloudflare, ודף בלי מיתוג מגיע מהשרת.
זה חשוב, כי אצלנו התברר שיש שתי שכבות. בבדיקה חוזרת ב-7.11.2026 חלק מהכתובות האלה קיבלו את דף "Attention Required" של Cloudflare, כלומר גם כלל אבטחה בקצה חוסם אותן, עוד לפני שהבקשה מגיעה לשרת. כדי לבדוק את ההגדרה בפאנל בלבד, הריצו את הבדיקה מול כתובת האפליקציה של קלאודוויז, שלא עוברת דרך Cloudflare. על קריאת אירועי האבטחה בקצה ראו אירועי אבטחה ב-Cloudflare.
הקוד BFCM802 מוריד 80% מהחשבון בחודשיים הראשונים (עד 200$ הנחה בחודש), כולל העברת אתרים חינם בלי הגבלה. ללקוחות חדשים בלבד, ורק עד סוף המבצע.
המבצע מסתיים ב-4 בדצמבר 2026, ב-23:59 שעון ישראל.
מתחילים בניסיון חינם, בלי כרטיס אשראי. את הקוד מזינים בקופה ובודקים שהוא מופיע.
אחרי בלאק פריידי: 30% הנחה ל-3 חודשים עם הקוד ASAEL. בשרת גדול (מעל כ-444$ בחודש) ASAEL משתלם יותר כבר עכשיו. למחשבון BFCM802 מול ASAEL
פותחים שרת ניסיון חינם, בלי כרטיס אשראי. כשעוברים לתוכנית בתשלום, הקוד ASAEL מוריד 30% מהחשבון בשלושת החודשים הראשונים.
הקישור ממלא את הקוד בטופס ההרשמה. רק ודאו שהוא מופיע.
מה עלול להישבר אחרי החסימה?
רק תוסף או תבנית שמצפים שהדפדפן או שירות חיצוני יקראו ישירות לקובץ PHP שלהם. תוספים מודרניים עובדים דרך REST API או admin-ajax, ולכן לא מושפעים.
| מה | מושפע? | איך מזהים |
|---|---|---|
| דפים, פוסטים, עגלה וקופה | לא, נטענים דרך index.php | 200 בדף הבית ובדפים |
| REST API, admin-ajax, wp-cron | לא, נבדק אצלנו | wp-json מחזיר 200 |
| callback ישן של סליקה או משלוחים שמפנה לקובץ בתיקיית התוסף | כן, עלול להישבר | תשלום עובר אבל ההזמנה לא מתעדכנת, 403 ביומן הגישה |
| סקריפט הורדה, מחולל קאפצ'ה או תמונות ישן | כן, עלול להישבר | תמונה שבורה או קישור הורדה שמחזיר 403 |
שתי השורות האחרונות הן הערכה שלנו לפי אופן פעולת החסימה, לא מקרה שראינו. אצלנו, עם Elementor Pro, Yoast, Imagify, Redirection ו-Object Cache Pro, לא נשבר דבר.
נשבר משהו? בדקו קודם במדריך לשגיאה 403 שהחסימה היא באמת הסיבה. אם כן, יש שתי דרכים: לבקש ממפתח התוסף נקודת קצה דרך REST API, או להחליף תוסף. בתיעוד של קלאודוויז לא מצאנו אפשרות להחריג קובץ בודד, ולכן אפשר גם לשאול את התמיכה.
איך מבטלים את החסימה אם צריך?
באותו מתג. חוזרים ל-Application Settings, לשונית WordPress, מעבירים את Direct PHP File Access ל-Enable ומאשרים. לפי קלאודוויז זה אותו תהליך בכיוון ההפוך, והוא לא משנה קבצים באתר.
אל תשאירו את הגישה פתוחה סתם. אם פתחתם אותה בשביל תוסף אחד, תכננו להחליף אותו ולחסום שוב.
מה עוד בדקנו באותו סבב הקשחה?
- XML-RPC: כבר היה חסום ב-403 בשכבת Cloudflare, אז לא היה מה לשנות.
- wp-login.php: מחזיר 403 ל-curl בגלל אתגר Cloudflare שהיה קיים. דפדפן רגיל עובר את האתגר ומתחבר.
- Cron Optimizer: לא הפעלנו. WP-Cron כבר כבוי (DISABLE_WP_CRON) ורץ מ-cron של השרת, אז האפשרות מיותרת אצלנו. ראו משימות מתוזמנות בקלאודוויז.
הרשימה המלאה של צעדי ההקשחה בפאנל נמצאת במדריך שיפור האבטחה בקלאודוויז, והתמונה הרחבה במדריך אבטחת אתר.
טעויות נפוצות
מתבלבלים בכיוון המתג: Disable פירושו חסימה. אחרי השינוי, ודאו עם curl שקובץ תוסף מחזיר 403.
חושבים שזה ניקוי נוזקה: החסימה מונעת הרצה, היא לא מוחקת קבצים. אם כבר נפרצתם, עברו להסרת נוזקה מוורדפרס.
מייחסים כל 403 לחסימה: באתר מאחורי Cloudflare, הרבה 403 מגיעים מהקצה. בדקו את דף השגיאה לפני שאתם מבטלים משהו.
שאלות נפוצות
בדרך כלל לא. באתר שלנו, עם Elementor Pro, Yoast, Imagify, Redirection ו-Object Cache Pro, הכול המשיך לעבוד ב-7.11.2026. רק תוסף שקורא ישירות לקובץ PHP בתיקייה שלו עלול להישבר.
כ-20 שניות. זה קליק על המתג ב-Application Settings, לשונית WordPress, ואישור בחלון הקופץ. האתר לא יורד באמצע.
לפי קלאודוויז, באפליקציה חדשה הגישה הישירה לקבצי PHP חסומה כברירת מחדל. באפליקציות ותיקות היא עשויה להיות פתוחה, ולכן כדאי לבדוק. אצלנו היא הייתה פתוחה עד שחסמנו.
כן. בבדיקה שלנו wp-json החזיר 200 ו-admin-ajax.php ענה כרגיל. גם wp-cron.php ומפת האתר החזירו 200 אחרי החסימה.
לא. היא מונעת מקובץ PHP שהושתל לרוץ כשגולשים אליו, אבל לא מונעת את ההעלאה ולא מנקה קבצים קיימים. צריך גם עדכוני תוספים, סריקה וגיבויים.
לפי דף השגיאה. דף עם מיתוג Cloudflare, כמו Attention Required, מגיע מהקצה. דף בלי מיתוג מגיע מהשרת. לבדיקה נקייה של השרת אפשר לבדוק מול כתובת האפליקציה של קלאודוויז.
מדריכים קשורים
- פריצה דרך WP File Manager בקלאודוויז: מה קרה ואיך מנקים
- שיפור האבטחה של קלאודוויז
- Wordfence מול אבטחת שרת
- סקירת קלאודוויז המלאה · קופון קלאודוויז
- כל המדריכים בתחום: מדריכי אבטחה
מקורות
- Restrict Direct Access to WordPress PHP Files (Cloudways Knowledge Base)
- Hardening WordPress (WordPress Developer Resources)
- Unrestricted File Upload (OWASP)
- Error 403 (Cloudflare Docs)
- מדידות שלנו באתר cw-servers.co.il עם curl ובפאנל, 7.11.2026
מקור רשמי: Restrict Direct Access to WordPress PHP Files (Cloudways Knowledge Base). העמוד נכתב ונבדק על ידי עשהאל דרייר · עודכן: 07.11.2026
גילוי נאות: זהו אתר עצמאי ואינו האתר הרשמי של Cloudways. חלק מהקישורים באתר הם קישורי שותפים – אם תירשמו דרכם נקבל עמלה, בלי עלות נוספת לכם. לפרטים המלאים