פיתוח מודול הגנת ספאם עבור 1C-Bitrix
מבוא
טופס יצירת הקשר מתחיל לקבל 200–300 הודעות ספאם ביום. מנהלים מפסיקים לסמוך על נתוני הטפסים ומתחילים לפספס לידים אמיתיים. האתר מאבד המרות, ועיבוד הזבל לוקח שעות עבודה—זו מציאות במסחר אלקטרוני. ביטריקס מציעה Google reCAPTCHA v2 מובנה דרך רכיב form, אבל בוטים למדו מזמן לעקוף אותו באמצעות שירותי פתרון קפצ'ות. טפסים בעומס גבוה דורשים הגנה רב-שכבתית. אנו מפתחים מודולים עבור ביטריקס כבר למעלה מ-5 שנים ויישמנו יותר מ-50 פרויקטים של הגנת ספאם, כך שאנו יודעים אילו שילובי שיטות יעילים בעומסים שונים. צרו קשר לבדיקה חינמית של ההגנה הנוכחית שלכם—נזהה נקודות חולשה ונבחר תצורה מתאימה.
למה שיטה אחת לא עובדת
לכל שיטת הגנת ספאם יש חולשות:
| שיטה | חולשה |
|---|---|
| Google reCAPTCHA v2 | שירותי פתרון קפצ'ות, $0.5–1/1000 פתרונות |
| reCAPTCHA v3 / hCaptcha | תוצאות חיוביות שגויות על משתמשים אמיתיים, חסימה ברוסיה |
| שדה דבש (Honeypot) | בוטים חכמים מתעלמים משדות נסתרים |
| בדיקת זמן מילוי | בוטים המחקים בני אדם יכולים לעקוף |
| חסימת IP | בוטים משתמשים בפרוקסי מתחלפים |
הגנה אפקטיבית היא רב-שכבתית, כאשר כל שיטה מכסה את החולשות של האחרות. מודול הבנוי על honeypot + הגבלת קצב יעיל בערך פי 10 מבחינת יחס מחיר/איכות מאשר קפצ'ה בודדת. לפי דו"ח של Spamhaus, יותר מ-85% מהספאם נוצר על ידי בוטים.
ארכיטקטורת המודול
שכבה 1 — Honeypot + טיימר
שדה נסתר בשם website (בוטים יאהבו אותו) ושדה form_fill_time. אם website מלא או form_fill_time < 3 שניות, ההגשה כנראה מבוט עם הסתברות של 99%.
שכבה 2 — ניתוח התנהגותי
JavaScript כותב אירועי עכבר והקשות מקשים לתוך שדה נסתר. בעת הגשה, השרת בודק: האם הייתה תנועת עכבר אמיתית, האם הייתה מהירות הקלדה סבירה? בוטים המחקים בני אדם משקיעים משאבים בכך ולעתים רחוקות משתמשים בזה למתקפות המוניות.
שכבה 3 — הגבלת קצב לפי IP וטביעת אצבע
לא יותר מ-N הגשות מ-IP אחד ב-M דקות. טביעת אצבע נבנית מ-User-Agent, Accept-Language, Accept-Encoding — לא מ-IP. הכללים נשמרים ב-myvendor_spam_rate:
CREATE TABLE myvendor_spam_rate (
fingerprint VARCHAR(64) NOT NULL,
form_id VARCHAR(100),
hits INT DEFAULT 1,
first_hit TIMESTAMP DEFAULT NOW(),
last_hit TIMESTAMP DEFAULT NOW(),
blocked BOOLEAN DEFAULT false,
PRIMARY KEY (fingerprint, form_id)
); שכבה 4 — מאגרי מוניטין
בדיקת IP של השולח דרך API של AbuseIPDB או Spamhaus. אם הציון גבוה מהסף, חסום או הגדל את קושי האימות. התוצאות נשמרות במטמון ב-CREATE TABLE myvendor_spam_rate ( fingerprint VARCHAR(64) NOT NULL, form_id VARCHAR(100), hits INT DEFAULT 1, first_hit TIMESTAMP DEFAULT NOW(), last_hit TIMESTAMP DEFAULT NOW(), blocked BOOLEAN DEFAULT false, PRIMARY KEY (fingerprint, form_id) ); עם TTL של 24 שעות כדי להימנע מפנייה ל-API חיצוני בכל בקשה.
שכבה 5 — מסווג טקסט מבוסס ML
עבור טפסים עם שדות טקסט (הודעה, תגובה) — ניתוח תוכן. מסווג Bayes נאיבי פשוט המאומן על נתוני ספאם/לא-ספאם היסטוריים של האתר הספציפי. נשמר ב-myvendor_spam_ip_cache, מאומן מחדש על ידי סוכן פעם בשבוע.
מידע נוסף על honeypot ניתן לקרוא בויקיפדיה, ועל מאגרי מוניטין בתיעוד AbuseIPDB.
שילוב עם טפסי ביטריקס
יירט טפסים דרך אירוע myvendor_spam_model (מודול OnWebFormResult_Add):
AddEventHandler('form', 'OnWebFormResult_Add', function(&$arFields, &$arValues) {
$verdict = \MyVendor\Spam\Analyzer::analyze(
ip: $_SERVER['REMOTE_ADDR'],
fingerprint: \MyVendor\Spam\Fingerprint::get(),
formId: $arFields['FORM_ID'],
fields: $arValues,
fillTime: (int)($_POST['form_fill_time'] ?? 0)
);
if ($verdict->isSpam()) {
$arFields['COMMENTS'] .= "\n[SPAM: {$verdict->getReason()}]";
$arFields['STATUS'] = 'N';
}
});חשוב: הגשות ספאם אינן נמחקות אלא מסומנות. זה מאפשר סקירה תקופתית של הגשות מסומנות ותיקון תוצאות חיוביות שגויות—נתונים לשיפור המסווג.
כיצד להגדיר ספי טריגר
פרמטרי הגבלת הקצב מוגדרים בהגדרות המודול באזור הניהול. ברירת מחדל: לא יותר מ-5 הגשות מ-IP אחד ב-10 דקות. עבור טפסים עם גישה אנונימית, ניתן להוריד את הסף ל-3 ב-15 דקות.הגנה על רישום ועגלת קניות
בוטי ספאם תוקפים לא רק טפסי יצירת קשר אלא גם טופס הרישום (יצירת חשבונות זבל) ועגלת הקניות (בדיקת כרטיסים גנובים דרך תשלומים קטנים). המודול מתרחב לנקודות אלה: עבור רישום—אותו honeypot + הגבלת קצב; עבור עגלת קניות—זיהוי דפוסים (הזמנות קטנות רבות מכרטיסים שונים בפרק זמן קצר).
כיצד אנו בודקים את המודול
לפני ההשקה, אנו מריצים את המודול על נתונים היסטוריים של האתר שלכם (אם קיימים יומני ספאם) או על תעבורה סינתטית המדמה בוטים. אנו מודדים את אחוז התוצאות החיוביות השגויות והגשות ספאם שהוחמצו. אנו מכווננים ספים כדי למזער את שני המדדים. לאחר ההתקנה, המודול ממשיך ללמוד מנתונים חדשים.
תהליך הפיתוח
- ניתוח איומים: חקר סוגי מתקפות הספאם על הפרויקט שלכם.
- עיצוב ארכיטקטורה: בחירת שילוב שכבות לפי עומס.
- יישום: כתיבת קוד המודול בהתחשב בטפסים שלכם.
- בדיקות: אימות על נתונים היסטוריים ונתונים סינתטיים.
- התקנה וניטור: התקנה על שרת הייצור, מעקב אחר מדדים.
מה כלול בעבודה
- מפרט טכני עם בחירת שיטות לעומס שלכם.
- פיתוח והגדרת המודול לטפסים ספציפיים (יצירת קשר, רישום, עגלת קניות).
- תיעוד הגדרות ותמיכה.
- הדרכת מנהלים (1–2 שעות אונליין).
- תמיכה חינמית למשך חודש לאחר ההשקה.
לוחות זמנים לפיתוח
| היקף | הרכב | לוח זמנים |
|---|---|---|
| בסיסי | Honeypot + טיימר + הגבלת קצב | 1–2 שבועות |
| סטנדרטי | + מאגרי מוניטין + ניתוח התנהגותי | 3–4 שבועות |
| מורחב | + מסווג ML + הגנת עגלת קניות + אנליטיקה | 6–8 שבועות |
לפני הזמנת פתרון מורכב, העריכו את היקף הבעיה: לפעמים honeypot + הגבלת קצב מספיקים, והם יפתרו 95% מהספאם תוך שבוע. להערכה מדויקת של הפרויקט שלכם, צרו קשר—ננתח את המצב הנוכחי שלכם ונציע תצורה אופטימלית. קבלו ייעוץ היום.

