
שגיאה 403 (Forbidden) אומרת שהשרת קיבל את הבקשה, הבין אותה — וסירב לבצע אותה. לפי MDN, ההבדל מ-401 הוא שבשגיאה 403 "התחברות או התחברות מחדש לא משנה דבר": הבעיה היא לא מי אתם, אלא מה מותר לכם. בפועל, 403 באתר של עסק כמעט אף פעם לא נובעת מהחלטה מכוונת לחסום את הגולש — היא נובעת מהרשאות קבצים, מכלל אבטחה שתפס יותר מדי, או מהגדרת שרת שגויה. במאמר הזה: איך מגלים מי חסם, ואיך מתקנים.
ארבעה "שומרי סף" שיכולים להחזיר 403
בקשה לאתר עוברת כמה שכבות, וכל אחת מהן יכולה לסרב. הצעד הראשון באבחון הוא לזהות איזו שכבה ענתה:
| השכבה | איך מזהים | סיבה טיפוסית |
|---|---|---|
| Cloudflare / WAF חיצוני | עמוד שגיאה ממותג עם Ray ID | כלל חסימה, חסימת מדינה, ציון סיכון של IP |
| שרת האינטרנט | עמוד 403 פשוט של Apache/Nginx | הרשאות קבצים, .htaccess, תיקייה בלי קובץ אינדקס |
| תוסף אבטחה | עמוד חסימה של התוסף | חסימת IP, הגנת התחברות, כלל חומת אש של התוסף |
| האפליקציה עצמה | הודעה בתוך עיצוב האתר | משתמש בלי הרשאה לפעולה או לאזור |
כשהחסימה מגיעה מ-Cloudflare
אם האתר יושב מאחורי Cloudflare, עמוד חסימה שלה כולל מזהה בקשה (Ray ID). לפי התיעוד של Cloudflare לשגיאה 1020, חסימה כזו נובעת מכלל חומת אש שבעל האתר הגדיר — לא מתקלה של Cloudflare. הדרך לבדוק: לחפש את ה-Ray ID או את כתובת ה-IP של הגולש ביומן אירועי האבטחה בלוח הבקרה, ולראות איזה כלל תפס את הבקשה. מכאן מחליטים: לתקן את הכלל, או להחריג את הגולש. התיעוד גם מציין שחסימות של כללי WAF מותאמים מחזירות היום את עמוד החסימה של ה-WAF ולא בהכרח 1020. על מה שחומת אש כזו עושה ומה לא, הרחבתי במאמר מה זה WAF.
מקרה נפוץ: כלל שחוסם מדינות או "בוטים" תופס בטעות כלי חיצוני שהאתר צריך — שירות ניטור, מערכת סליקה ששולחת אישור תשלום, או אינטגרציה עם מערכת CRM. אם משהו "הפסיק לעבוד" בלי שגולשים התלוננו, בדקו את היומן.
כשהחסימה מגיעה מהשרת
הרשאות קבצים ותיקיות
שרת האינטרנט צריך הרשאת קריאה לקבצים ולתיקיות. לפי מדריך ההקשחה של וורדפרס, הבסיס המקובל הוא 755 לתיקיות ו-644 לקבצים, וקובץ wp-config.php צריך הרשאה מחמירה יותר. אחרי העברת אתר, שחזור מגיבוי או העלאה ב-FTP עם הגדרות שגויות, קורה שהרשאות או בעלות הקבצים משתבשות — והשרת לא מצליח לקרוא אותם. התוצאה: 403 על כל האתר, או רק על תמונות ותיקיות מסוימות.
find /path/to/site -type d -exec chmod 755 {} \;
find /path/to/site -type f -exec chmod 644 {} \;
שימו לב: 777 היא לא פתרון. היא "פותרת" את ה-403 ופותחת פרצה.
כלל ב-.htaccess
שורת Require all denied במקום הלא נכון, חסימת IP שנשכחה, או כלל שתוסף אבטחה הוסיף — כל אלה מחזירים 403. כדי לבדוק, שנו זמנית את שם הקובץ .htaccess ובדקו אם השגיאה נעלמת. אם כן, חפשו את השורה הבעייתית (ובוורדפרס, צרו מחדש את כללי הקישורים הקבועים דרך ההגדרות).
תיקייה בלי עמוד אינדקס
כשגולש פונה לכתובת של תיקייה שאין בה קובץ index, ורישום תוכן התיקייה כבוי (וזה נכון שהוא כבוי), שרתים רבים מחזירים 403. זה תקין לתיקיות פנימיות; זה באג כשמדובר בעמוד שאמור להיות קיים — סימן שהקובץ לא הועלה או שהניתוב שבור.
כשהחסימה מגיעה מתוסף אבטחה
תוספי אבטחה לוורדפרס חוסמים כתובות IP אחרי ניסיונות התחברות כושלים או בקשות שנראות חשודות. לפעמים הם חוסמים את בעל האתר עצמו, או משרד שלם שיוצא מאותה כתובת IP. בדקו את רשימת החסימות של התוסף, ואם אין גישה לממשק — כבו את התוסף זמנית על ידי שינוי שם התיקייה שלו. על היתרונות והחסרונות של תוספים כאלה כתבתי במאמר תוסף אבטחה לוורדפרס.
403 וגוגל
לפי התיעוד של גוגל לקודי סטטוס, כל שגיאות 4xx (חוץ מ-429) מטופלות אותו דבר: עמוד שמחזיר 403 יוסר מהאינדקס אם היה בו. גוגל גם מבהירה ש-403 לא מאט את קצב הסריקה, ולכן אסור להשתמש בו כדי "לווסת" את Googlebot. אם כלל אבטחה חוסם בטעות את Googlebot, עמודים יתחילו לצאת מהאינדקס — ובדוח הכיסוי של Search Console תראו את זה כשגיאת 403.
שאלות נפוצות
מה ההבדל בין 403 ל-404?
404 אומר שהעמוד לא קיים; 403 אומר שהוא קיים ואסור לגשת אליו. MDN מציינת שבעלי שרתים יכולים לבחור להחזיר 404 במקום 403 כדי לא לחשוף שמשאב קיים. על 404 ועמוד 404 טוב כתבתי במאמר שגיאה 404.
רק אני מקבל 403, ואחרים לא — למה?
כמעט תמיד חסימה לפי כתובת IP: תוסף אבטחה, Cloudflare או חומת אש של השרת. נסו מרשת אחרת — אם זה עובד, חפשו את כתובת ה-IP שלכם ברשימות החסימה.
האם 403 בתיקיית wp-admin תקין?
אם הגבלתם בכוונה את הגישה לממשק הניהול לפי IP — כן. אם לא, זה בדרך כלל כלל של תוסף אבטחה או של ה-WAF שתפס את הבקשה.
מאמרים קשורים: ERR_TOO_MANY_REDIRECTS: איך מוצאים ושוברים לולאת הפניות.
אבחון חסימות — בין אם הן מגיעות מ-Cloudflare, מהשרת או מתוסף — הוא חלק קבוע מתחזוקת האתרים שלי. אם האתר שלכם מחזיר 403 ואתם לא בטוחים מאיפה, כתבו לי.
אהבתם את המאמר?


