פתרון לבעיית פריצת CAPTCHA בפורומים מבוססי PHPBB 3

תזכורת קטנה מהעבר: הספאמרים ימח שמם וזיכרם מצאו דרך לפצח את ה-CAPTCHA שיש בתוך PHPBB 3 כולל בגירסאות 3.0.3 ו-3.0.4. צוות המפתחים של PHPBB אמרו שיתנו לזה פתרון ב-PHPBB 3.0.5 רק שעברו מאז 4 חודשים וגירסת 3.0.5 עדיין לא יצאה. מתי? שאלה טובה. “כשיהיה מוכן” זו תשובתם, מה שכמובן לא מפריע לספאמרים לפתוח לך עוד ועוד חשבונות  שיום אחד פשוט יפציצו את האתר שלך בספאם מכאן ועד להודעה חדשה.

פתרונות לא חסר, אך הנה פתרון MOD פשוט שנקרא Advanced Visual Anti Bot. כל מה שה-MOD הזה עושה הוא בסך הכל משנה כל פעם את הרקע ל-CAPTCHA כך שמנגנון ה-OCR לא יוכל לעבוד בקלות ויכשל ברגע שהוא ינסה ליצור משתמש.

לאלו שלא מכירים את שיטת ה-MODX להתקין את הדבר הזה, להלן ההוראות:

  1. הורד את הקובץ אל מחשבך
  2. פתח אותו במחיצה שתרצה (לא, לא בשרת שלך)
  3. גרור את קובץ ה-install.xml לתוך הדפדפן שלך (אל תשכח לפתוח TAB חדש אם הדפדפן שלך פתוח)
  4. עקוב אחר ההוראות מה להעתיק ומה לשנות

במקרה של ה-MOD הנ”ל, כל מה שצריך לעשות זה להעתיק מס’ קבצים לתוך מחיצת ה-CAPTCHA בתיקיית הפורום שלך, ולעשות 2 שינויים מינוריים בקובץ PHP שמפעיל את ה-CAPTCHA, וכך התמונת הרקע של ה-CAPTCHA תשתנה לה כל פעם שמישהו ירצה להירשם, מה שיקטין מאוד את סיכויי הסקריפט הפורץ להצליח.

את ה-MOD ניסיתי גם על גירסאות 3.0.3 ו-3.0.4 וזה עובד.

בהצלחה.

התראת אבטחה למנהלי פורומים מבוססים PHPBB 3.0.X

אלו שמנהלים פורומים המבוססים PHPBB 3 (עד, כולל, גירסה 3.0.4) אולי שמו לב בזמן האחרון למשהו מעניין: נרשמים בכל יום מס’ אנשים בשמות משתמשים באנגלית, עם כתובת אימייל רוסית. הם עדיין לא כותבים הודעות אלא רק נרשמים.

אלו אינם אנשים רגילים אלא סקריפט שרץ מרחוק ויודע “לקרוא” את  ה-CAPTCHA מייצר את המשתמשים האלו, כך שבעתיד הסיכוי גבוה שאותם “משתמשים” יתחילו להפציץ לכם את הפורום בזבל.

בשלב זה אין פתרון מצד מפתחי PHPBB. יהיה פתרון בגירסה 3.0.5 אך היא עדיין לא קיימת.

מה אפשר לעשות? עבודה ידנית שהיא די פשוטה:

  • היכנסו לתפריט הניהול הראשי ובחרו את שם המשתמש שאינכם בטוחים אם המשתמש אמיתי או פרי יצירת סקריפט. העתיקו את כתובת ה-IP שלו
  • כנסו לאתר הזה והדביקו את כתובת ה-IP
  • אם הכתובת מופיעה בבסיס הנתונים שם, תוכלו לראות ממתי יש חסימה, את שמות המשתמש שנוצרו ע”י הסקריפט שרץ במכונה עם הכתובת הנ”ל (הנה דוגמא).
  • מחקו את המשתמש והודעותיו.
  • כנסו במסך הניהול הראשי ל”משתמשים וקבוצות” ובחרו בתפריט מימין “חסימת כתובות IP”. הזינו את הכתובת ורישמו הערה (תרגישו חופשי גם לקלל בהערה 🙂 )
  • זהו. לעת עתה הסקריפט שיורץ שוב מאותה מכונה לא יוכל ליצור משתמשים אוטומטית.

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

קללת PHPBB בשילוב Sitemaps

הרבה מכירים את אפליקציית הפורומים PHPBB (גירסה 3). זוהי תוכנת פורום נחמדה, יש לה גם גירסה מגויירת עברית והיא נחמדה לעבודה, עד שמגיעים לעניין ההרחבות לגביה, ואז מקללים את הרגע שהיא נבחרה לפורום שלך. גם לי זה קרה שהחלטתי להרים פורום נחמד וקטן על נושאי מיסטיקה שונים, ואז מצאתי בעיה מעניינת: איך לאמר לגוגל לאנדקס את הפורום?

עם אפליקציות כמו WordPress העניין די קל: האפליקציה עצמה בנויה לקבל כל מיני פלאגים שמכניסים במחיצה מיועדת, מפעילים את הפלאג מלוח הבקרה, יש ממשק הגדרות פשוט לפלאג וזהו, זה עובד. הלוח בקרה יודיע לך מתי יש גירסה חדשה לפלאג ויציע אפשרות עדכון אוטומטית, והחיים שם די קלים. רוצים Sitemap לבלוג שלכם? אין בעיה, כנסו לכאן, תורידו, תפרסו במחיצה של ה-plugins, תפעילו, לכו לפי הממשק הפשוט וזהו, גוגל יעשה בשבילכם את האינדוקס.

עם PHPBB לעומת זאת, זה סיוט מהלך: התוספות נקראות MOD וכל MOD בא עם תורה משלו והוראות: תעתיק את הקובץ הזה, תחפש בקובץ X את הטקסט הזה, תחליף בטקסט אחר, כנ”ל לגבי קובץ כזה וכזה – ובקיצור, דבר שמזכיר את ימי הביניים במחשבים.במקרה הזה יש מעין MOD מפחיד עם הוראות ארוכות כאורך הגלות להתקנה והפעלה, ורק לאחר שתעבור את הסיוט תוכל לקבל את המפות וגם RSS. ממש כיף!

לאחר מאמצים רבים מצאתי סוף סוף את הפתרון הגואל בדמות סקריפט פשוט שנמצא כאן. ההגדרות פשוטות (בסך הכל 3 הגדרות שאפשר לוותר על 2 מהן), וכל מה שצריך הוא פשוט לזרוק לגוגל את מיקום קובץ ה-PHP (שיוצר קובץ XML עבור גוגל) וזהו. גוגל מקבל את הקובץ מפות ומאנדקס בהתאם.

אגב, לאלו שחושבים שאפשר פשוט לזרוק לתוך תוכנה כמו A1 Sitemap Generator את כתובת הפורום והוא יצור עבורך קובץ sitemap, מומלץ לחשוב שנית: מכיוון ש-PHPBB משתמש בשיטה של SID (זהות יחודית לכל דף), התוכנה פשוט תשכפל אלפי עותקים של אותם דפים בפורום.

בהזדמנות זו אשאל אולי יש למישהו הצעה לאפליקציית פורומים נורמלית שניתנת להרחבה בקלות, מאפשרת יבוא תוכן מ-PHPBB וקלה להגדרות ותחזוקה במקרה? (כן, עדיף עם תמיכה בתוכן עברי).