חזרה לבלוג
יסודות פורסם ב-28.09.2026 1 דקות קריאה

טופסי יצירת קשר ב-WordPress: רשימת בדיקה לאבטחה

Contact Form 7, WPForms, Gravity Forms, Ninja Forms או Fluent Forms — התוסף חשוב פחות מאופן ההגדרה והתחזוקה שלו. הנה מה שצריך לבדוק, ומה צריך לבדוק מחדש אחרי כל עדכון.

רוב אתרי WordPress משתמשים באחד מקומץ תוספי טפסים: Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Fluent Forms ועוד כמה. כל אחד מהם יכול לפעול בצורה מאובטחת או להישאר פתוח לגמרי. ההבדל נמצא לעיתים רחוקות בתוסף עצמו, אלא בהגדרות שלו, בהרחבות שסביבו, באופן שבו הדואר יוצא מהשרת ובמה שקורה להודעות אחרי שהן מגיעות.

  • יש לשמור על תוסף הטפסים ועל כל הרחבה מעודכנים, ולמחוק את אלה שכבר אינם בשימוש.
  • יש להפעיל את האנטי-ספאם של התוסף — שדה מלכודת, אינטגרציית CAPTCHA, Akismet היכן שמתאים — ולוודא שהוא באמת עובד.
  • יש לשלוח התראות באמצעות SMTP מאומת מכתובת בדומיין של האתר.
  • יש להגביל העלאות לפי סוג וגודל, ולמנוע הצגת רשימה ציבורית או דפדוף ציבורי בקבצים שהועלו.
  • יש להשאיר את כתובת הדוא״ל של הנמען מחוץ לדף ולקוד המקור שלו.
  • יש לשמור רק את הרשומות הנחוצות ורק כל עוד הן נחוצות.
  • יש לבצע בדיקה קצרה אחרי כל עדכון של WordPress, של ערכת העיצוב או של תוסף כלשהו.

עדכונים: תוסף הטפסים וכל מה שסביבו

תוספי טפסים הם יעד פופולרי משום שהם מקבלים קלט מכל אדם באינטרנט. תיקוני אבטחה מגיעים כעדכונים רגילים, ולכן צריך לעדכן במהירות — ולא רק את התוסף הראשי. הרחבות לתשלומים, להעלאות, לחיבורי CRM, ללוגיקה מותנית או לספקי CAPTCHA נוספים הן קוד נפרד עם חולשות משלו. כך גם תוספים שהותקנו פעם לצורך בדיקה ונשכחו. השבתה אינה מספיקה: תוספים מושבתים עדיין נמצאים בשרת, ובמקרים מסוימים אפשר לגשת לקבצים שלהם ישירות. אם לא משתמשים בתוסף, יש למחוק אותו.

אנטי-ספאם: להפעיל, ואז להוכיח שהוא עובד

לרוב תוספי הטפסים יש אפשרויות אנטי-ספאם משלהם או אינטגרציות עם שירותים חיצוניים: שדה מלכודת שבוטים ממלאים ואנשים לעולם אינם רואים, CAPTCHA כגון reCAPTCHA, hCaptcha או Cloudflare Turnstile, ו-Akismet שבודק את תוכן ההודעה מול מסד נתוני ספאם. האפשרויות משתנות לפי תוסף וגרסה, ולכן צריך לבדוק את ההגדרות במקום להניח. CAPTCHA חיצוני טוען סקריפטים מצד שלישי, ו-Akismet שולח את התוכן שנמסר לשירות חיצוני — שניהם צריכים להופיע במדיניות הפרטיות, ובהתאם להגדרות גם בניהול ההסכמה.

הבעיה הנפוצה יותר היא הגנה שמופעלת אבל אינה עובדת. CAPTCHA שרץ עם מפתחות בדיקה ציבוריים מאפשר הכול. רכיב שהסקריפט שלו חסום על ידי תוסף מטמון או אופטימיזציה, או על ידי שגיאת JavaScript, אינו עוצר דבר. שדה מלכודת ללא הסגנונות שמסתירים אותו מוקרא על ידי קוראי מסך וממולא על ידי מבקרים אמיתיים. לכן, אחרי כל שינוי, יש לפתוח את הטופס בחלון פרטי, לבדוק את מסוף הדפדפן ואת קוד המקור של הדף ולשלוח הודעת בדיקה. להגנה שאינה תלויה ב-Google, תוסף formexposed החינמי ל-WordPress מוסיף שדה מלכודת, בדיקת זמן והוכחת עבודה, ובודק את האתר שוב אחרי עדכוני תוספים — אפשרות אחת מבין כמה.

דואר: איך הוא נשלח ולאן הוא מגיע

כברירת מחדל, WordPress מוסר דואר לפונקציית הדואר של PHP בשרת, ובשרתי אחסון רבים ההודעות מאומתות בצורה לקויה ומגיעות לספאם — או נעלמות בשקט. במקום זאת, יש לשלוח דרך תוסף SMTP או שירות הדואר של ספק האחסון, עם תיבת דואר אמיתית שיש לה שם משתמש וסיסמה ועם כתובת שולח בדומיין של האתר, כגון כתובת ייעודית של forms@. רשומות SPF, DKIM ו-DMARC של הדומיין חייבות לכסות את השולח הזה. אין להציב את כתובת המבקר בשדה From: זה אינו הדומיין של האתר, ולכן ההודעה אינה יכולה לעבור התאמת DMARC ובהתאם למדיניות הדומיין של המבקר מגיעה לספאם או נדחית. יש להגדיר אותה כ-Reply-To, ועדיין אפשר להשיב בלחיצה אחת.

כתובת הנמען שייכת להגדרות התוסף, לא לדף. יש לבדוק את קוד המקור של דף יצירת הקשר: קישור mailto ליד הטופס, או שדה נסתר שמכיל את כתובת הנמען, מוסרים את הכתובת לכל בוט לאיסוף כתובות. בטפסים ישנים או בטפסים שנבנו במיוחד המצב יכול להיות גרוע יותר — אם השרת סומך על שדה נמען נסתר, כל אחד יכול לשנות אותו ולהשתמש בטופס כדי לשלוח דואר לכתובות שרירותיות.

העלאות ורשומות שמורות

העלאת קבצים היא תכונת הטופס המסוכנת ביותר, ולכן צריך לשאול תחילה אם היא נחוצה בכלל. אם כן, יש לאפשר רק את הסוגים שבאמת מצפים לקבל — למשל PDF ופורמטי תמונה נפוצים — במקום לחסום כמה סוגים מסוכנים, ולהגדיר מגבלת גודל. יש לבדוק היכן התוסף שומר העלאות: אסור שיהיה אפשר להציג רשימה שלהן בתיקייה ציבורית, ועדיף שלא יהיה אפשר לגשת אליהן כלל בכתובת שניתן לנחש. יש למחוק אותן לאחר הטיפול או לשלוח אותן כקבצים מצורפים במקום לשמור אותן בשרת.

תוספי טפסים רבים או ההרחבות שלהם שומרים כל שליחה במסד הנתונים של WordPress, לעיתים גם ספאם. זה גיבוי מועיל כשהדואר נכשל, אבל גם ערימה גדלה של מידע אישי. לפי עקרון הגבלת השמירה של GDPR (סעיף 5(1)(e)), מומלץ שלא לשמור מידע כזה מעבר לנדרש. יש להחליט אם דרושות רשומות שמורות, אילו שדות ולכמה זמן, ואז להשתמש בהגדרת המחיקה האוטומטית של התוסף אם קיימת, או למחוק רשומות ישנות באופן קבוע. גיבויי מסד הנתונים מכילים את אותו מידע.

אחרי כל עדכון

  1. 1יש לפתוח את דף יצירת הקשר בחלון פרטי: הטופס ורכיב האנטי-ספאם שלו מוצגים כראוי, ומסוף הדפדפן אינו מציג שגיאות.
  2. 2יש להציג את קוד המקור של הדף: שדה המלכודת וסקריפט ה-CAPTCHA עדיין קיימים, וכתובת הנמען אינה מופיעה.
  3. 3יש לשלוח הודעת בדיקה: היא מגיעה לתיבת הדואר הנכנס, לא לספאם, והכותרות מראות ש-SPF, DKIM ו-DMARC עוברים.
  4. 4יש לבדוק את ההגדרות החשובות: נמען, כתובת שולח, סוגים וגדלים מותרים להעלאה ותקופת שמירת הרשומות.
  5. 5יש לבדוק שקישור מדיניות הפרטיות וכל טקסט הסכמה עדיין מוצגים בטופס.
  6. 6יש לרשום את התאריך ומה נבדק, כדי לדעת מתי הטופס עבד לאחרונה באופן מוכח.

לאחר שהדבר הופך לשגרה, הוא לוקח מעט זמן ותופס בדיוק את התקלות השקטות שאחרת אינן מתגלות במשך שבועות. למבט מבחוץ, בדיקה חינמית ב-formexposed.com בוחנת את דפי הטפסים הציבוריים של האתר בלי לשלוח דבר ומראה אם ההגנה המצופה קיימת ומוגדרת ביעילות — אין צורך בחשבון.