דף טופס יצירת קשר אני מגדיר כדף ווב המכיל טופס מקוון ליצירת קשר במטרה מסוימת.
סוגים נפוצים של דפי טופס הם למשל:
- טופס הרשמה
- טופס התחברות
- טופס יצירת קשר
- טופס הזמנה (מוצר ו\או שירות)
- טופס תרומה
טופס יצירת קשר
טופס יצירת קשר (באנגלית: Contact form) הוא כל טופס באפליקציה המאפשר פנייה אל מה שאפליקציה כזו מייצגת (אדם פרטי או אנשי צוות של תאגיד) בצורה סדורה.
טופס יצירת קשר יכול להיות במגוון נושאים כגון משוב בנושא חוויית משתמש, משוב בנושא נגישות ועוד.
טפסיי יצירת קשר הם מאפיין חשוב ברוב האפליקציות שכן הם מאפשרים פידבק על בעיות כפי שמתמש קצה חווה אותם ואף דיווח על בעיות טכניות ובעיות אבטחה שאלמלא פנייה ממשתמש קצה ייתכן שלא היו מתגלים ; גילוי מוקדם של הבעיות וטיפול בהן יכול לסייע למנוע בעיות חריפות ואף תביעות בטווח הארוך.
טפסים דורשים אבטחת מידע; ולידציית מידע אחורית לפחות בכדי לוודא שאינם כוללים תוכן זדוני כגון קוד תוכנה זדוני שאם תוכנת שרת בטעות תריץ אותו יהיו בעיות או גסויות וקללות שיוכלו לגרום לבעיות פסיכולוגיות לצוות המפעיל את האפליקציה.
טפסים טובים מאפשרים אוטומציית מכירות יעילה וכן אוטומציית שירות לקוחות יעילה.
טופס יצירת קשר אמור לכלול שדות כגון:
- נושא (להבטחת מיקוד הפנייה)
- שם (אני בעד לכתוב רק "שם" שכן לכל אדם החופש להגדיר לעצמו איזה שם שירצה ושמות כמו "שם מלא" או "שם לפי מדינה" סתם יכולים ליצור אנטגוניזם)
- אימייל
- קישור (למשל, לדף במדיה חברתית או לאתר ווב אישי
אבטחת טפסי יצירת קשר
מטעמי חוויית משתמש ואבטחת מידע על דף טופס להיות כמה שיותר מינימלי ולהכיל רק שדות שבפירוש רלוונטיים לפנייה.
נהוג להגן על דפי טופס מתוכנות הספמה (תוכנות המייצרות תוכן זבל) וכן מקוד זדוני (כגון עם SQL injection) בדרכים כגון:
- גישה מינימליסטית
- הגבלת סוגי תווים
- הגבלת כמות תווים
- מלכודת דבש (honeypot)
- מנגנון הגנה מ Brute Force Attack כגון חסימת יותר מ-X נסיונות שליחה ב-Y זמן ("הגבלת שיעור") ו\או קאפצ'ה
צ'קליסט תחזוקת טפסים
צ'קליסט תחזוקת טפסים הוא צ'קליסט בדיקת תוכנה שמובצעת ידנית, אוטומטית, או משולבת ומטרתו להבטיח פעילות תקינה של טפסים באפליקציה.
ללא טפסים פעילים ו\או ידידותיים ומונגשים תיתכן פגיעה ביצירתו וניהולו של מאגר לקוחות למשל בכך שיאובדו לידים או שלקוח פוטנציאלי לא ירצה לבצע עסקה.
בדיקות יסודיות
צ'קליסט תחזוקת טפסים אמור לכלול, לפי דעתי, לפחות את הבדיקות להלן.
טופס הרשמה
- בדיקת הצלחת הפעולה
- בדיקת הצלחת מחיקת חשבון וחזרה על פעולת הרישום עם אותם פרטי הרשמה (אלא אם רוצים למנוע רישום עם פרטים שכבר שומשו)
טופס התחברות
- בדיקת הצלחת הפעולה
- בדיקת שחזור סיסמה (האם הגיעה סיסמה משוחזרת)
- בדיקת שינוי סיסמה (האם סיסמה שונתה בהצלחה)
- בדיקת אישור אימייל לשחזור או שינוי סיסמה
- בדיקת התנתקות
טופס יצירת קשר
- בדיקת הצלחת הפעולה
- בדיקת הגבלת איכות תוים בכל שדה (אם רלוונטי)
- בדיקת הגבלת כמות תוים בכל שדה (אם רלוונטי)
- בדיקת תפקוד מנגנון מניעת קללות (אם רלוונטי)
- לפי דעתי באופן כללי אפשרות שליחת העתק הודעה ללקוח תמיד אמורה להיות זמינה (במיוחד אם טופס כולל שדה טקסט פשוט בהקשר "הערות" או שדה טקסט חופשי) ולכן יש לדאוג שהעתק הודעה הגיע ← יש לוודא שהטופס עובד בלי ועם הבחירה וכן לבדוק תוצאות בהתאם
כללי
- בדיקת תיבה: לוודא שכל אימייל הגיע לתיבת הדואר הנכס (inbox) ולא לתיבת דואר הזבל (spam).
אבטחת מידע
- בדיקת מנגנונים למניעת הספמה אוטומטית כגון מלכודת דבש בטופס יצירת קשר
- בדיקת יכולת הזרקת קוד תשאול מזיק (כגון SQL injection) לטפסים אשר מידע שלהם נשמר בבסיס נתונים
- בדיקת מנגנונים למניעת Brute force attack אנושית לחלוטין או אוטומטית כגון הגבלת שיעור (rate limiting) וקאפצ'ה (captcha) בטופס התחברות ו\או בטופס יצירת קשר
בדיקות אפשריות נוספות
טפסים נוספים שבמקרים רבים יש לבדוק הם למשל:
- טופס תרומה (בדיקות שונות בהתאם למבנה הטופס)
- יש לבצע בדיקת תגובה לפונה ובדיקת תגובה לתגובה
- טפסי הזמנת מוצר ו\או שירות (בדיקות שונות בהתאם למבני הטפסים)
- אם יש בטופס שני שדות לא-חובתיים או יותר מסוגים זהים, אפשר להשאיר אחד ריק אך חשוב למלא השאר
- בעת פיתוח טופס רצוי לדאוג שכל שדה יהיה מסוג ייעודי (שדה טקסט פשוט, שדה אימייל, שדה טלפון, שדה קישור, שדה תאריך וכדומה, בהתאם לצרכי הפיתוח
- מפתח תוכנה אשר יוצר לעצמו צ'קליסט בדיקת טפסים אולי ירצה להתייעץ עם מפתח תוכנה מומחה אבטחת מידע בשאלה איך לבנות את הצ'קליסט נכון
טופס יצירת קשר כשירות
היות וטפסים דורשים אבטחת מידע מקיפה ותחזוקה רבה, לפעמים עדיף לתת לגורם אחר לטפל בטפסים למעננו.
טופס יצירת קשר כשירות (באנגלית: Contact Form as a Service ובקצרה CFaaS) אני מגדיר ככל שירות במסגרתו מספקים ללקוח בנייה קלה ונוחה של טפסי יצירת קשר כגון:
- טופס יצירת קשר
- טופס הזמנת מוצר
- טופס הזמנת שירות
- טופס תרומה
- וכדומה
חברה חלוצית בנושא היא Jotform.
יש להבחין בין טופס יצירת קשר כשירות לבין שליחת טופס יצירת קשר כשירות (Contact Form Sending as a Service ובקצרה CFSaaS) שזה שירות שמבצעת חברה כמו SendGrid והיא מבצעת עבורנו שליחת טופס מהשרתים שלה.
הערות כלליות
- רוב המשתמשים הממלאים טופס יצירת קשר הולכים לעשות זאת רק פעם אחת ורק אם חשוב להם מאד שמשהו יקרה ולכן יש חשיבות עילאית להקפיד לבדוק שטפסים אלה עובדים כשורה, באופן תכוף.