גנבו לי את הכרוכית – הגנה על כתובות דוא"ל
רבים בנו לעצמם אתרים (או שאחרים בנו עבורם) ולאחר זמן מוצאים שתיבת הדואר שלהם 'מוצפת' בדואר זבל, ותוהים למה ואיך זה קרה?
כל מפתח אתר רוצה שכתובתו האלקטרונית תוצג באופן ברור באתר האינטרנט שפיתח. כל מי שבנו עבורו אתר מעוניין שכתובתו האלקטרונית תופיע בצורה בולטת באתר האינטרנט של החברה. ופתאום, תיבת הדואר מוצפת בדואר זבל!
הערה: האקדמיה ללשון עברית עִברתה את הסימן @ הנקרא בפי כל "שטרודל". מעתה שמו בישראל: כרוכית. כל העולם מכיר אותו בשם at.
דפי האתר המאוחסנים בשרתי החברה עוברים סריקה על ידי תוכנות הנקראות Spiders, שלפעמים קוראים להם Crawlers, knowledge-bot או סתם knowbots. תוכנות אלו משוטטות באינטרנט, בדרך כלל מטעם מנועי החיפוש כמו Google, Yahoo, MSN, ומעדכנות את מסדי הנתונים של מנוע החיפוש שבשליחותו הם פועלים. עד כה, הכל בסדר.
תוכנות מסוג Spiders גם מופעלות על ידי אנשים המעוניינים בכתובת האלקטרונית שלך כדי שיוכלו לשלוח לך פרסומת/וירוסים או כל דבר אחר שלא ביקשת. התוכנה נקראת spam bot והשולח אותה נקרא spammer ובעברית זַבְלָן (שעיסוקו בזבל, דואר זבל). התוכנות סוקרות את דפי האינטרנט בדיוק באותו אופן בו עושים זאת מנועי החיפוש, אלא שהפעם החיפוש הוא אחר השטרודל, הסימן @ או הצירוף mailto:.
אם כתובת הדואר האלקטרוני שלך נמצאת כבר בדף אינטרנט תוכל להיכנס למנוע החיפוש החביב עליך ולחפש את הכתובת שלך. אתה עשוי להיות מופתע מהתוצאות.
מה רואה ה-Spider באתר שלי?
תוכנות מסוג Spider קוראות את תוכן דפי האינטרנט באתר שלך, קבצים עם סיומת HTML, ASP, PDF, TXT ואחרים. ה- Spider לא מפענח את תוכן הקובץ באופן שהדפדפן עושה לקובץ HTML או ASP הוא פשוט קורא את תוכנו.
נניח שיש דף אינטרנט המציג תמונה. כך נראה קוד המקור להצגת התמונה:
<IMG src="imageFile.jpg">
כאשר תפעיל את הדף, תראה את התמונה. כאשר ה-Spider קורא את קוד המקור של הדף, הוא אינו "רואה" את הדף כפי שהוא מוצג על ידי הדפדפן. הוא קורא ורואה רק את קוד המקור: <IMG src="imageFile.jpg"> , וזה כל ההבדל!
דוגמה נוספת:
בקוד המקור כתוב:
<P bgcolor="red"><FONT color=white><SPAN dir=rtl>ùìåí</SPAN></FONT></P>
אתה רואה את הטקסט שלום כתוב בצבע לבן על רקע אדום. ה- Spider רואה את קוד המקור כמו שרשמת אותו בדף האינטרנט.
בדף HTML כך נראה קישור לדואר אלקטרוני:
<A href="mailto:[email protected]">bla<A>
או כך:
מכיון שדף HTML הינו מסמך טקסט פשוט (Plain Text), קל מאוד ל-Spider ל"חלץ" ממנו את המחרוזת המכילה @, שהיא הדואר האלקטרוני לא רק מהתגית <A HREF="MAILTO…">. לכן, אל תכתוב את הדואר האלקטרוני שלך גם לא כחלק מהמאפיין title או כל מאפיין אחר. עליך לוודא שבדף האינטרנט שלך לא יהיה רשום הדואר האלקטרוני שלך.
אז איך מציגים דואר אלקטרוני בדף אינטרנט באופן שה-Spider לא ידע שזהו דואר אלקטרוני?
הערה: השאלה היא כמה מאמץ אתה מוכן להשקיע בהגנה על הדואר האלקטרוני שלך. ככל שאתה מקשה יותר על ה-Spider, אתה מקשה גם על הלקוחות שלך. הגנה מוחלטת – אין! אין הגנה מוחלטת מפני וירוסים, אין הגנה מוחלטת בשימוש בקרם הגנה מקרני השמש ואין הגנה מוחלטת על תיבת הדואר שלך מפני דואר זבל. אבל, זה לא אומר שצריך להרים ידיים. אז קדימה לעבודה!
שיטה א: הוספת מלל
הרעיון | הוספת מלל לכתובת באופן שלמעשה תהפוך אותה לכתובת שאינה קיימת. התוספת יכולה להיות כל תו או תווים שהם. גם רווח הוא תו. |
משתמש | צריך להבין מה רוצים ממנו ולמחוק את תוספת הטקסט. |
Spider | אם כל העולם ינהג כמוך ויכתוב את אותו טקסט כפי שאתה כתבת, ה-Spider 'יבין' זאת ויוכל בקלות לפענח את הכתובת שלך. |
דוגמה:
<A href="mailto:[email protected]">bla<A>
כמובן שהכתובת [email protected] אינה קיימת. כדי שהכתובת הזו תהיה שימושית, המשתמש צריך למחוק את הטקסט REMOVETHIS. זאת טִרחה קטנה מצידו.
ואפשר גם:
<A href="mailto:name -at- domainName -dot- com">bla<A>
העניין הוא שאם אנשים רבים יעשו כמוך, אז ה-Spider עשוי להבין שמנסים לעבוד עליו. לכן, עליך להיות יצירתי, למשל:
<A href="mailto:[email protected]">bla<A>
הערה: יתכן שבשיטה זו ישלחו המיילים לכתובת [email protected], ואליך, מן הסתם, הם לא יגיעו.
שיטה ב: הצבה, שימוש ב- Internet-Safe Characters
הרעיון | שימוש בייצוג דצימלי של התווים. לכל תו יש סימן קבוע המחליף אותו. |
משתמש | אין משמעות לפעולה זו. |
Spider | אם ה-Spider יודע את השיטה, הוא יוכל בקלות לפענח את הכתובת שלך. |
הערך הדצימלי של התווים a עד z הוא בין 97 ל- 122:
Dec | 45 | 46 | 64 | 95 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 |
Char | – | . | @ | _ | a | b | c | d | e | f | g | h | i | J | k |
Dec | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 |
Char | l | m | n | o | p | q | r | s | t | u | v | w | x | Y | z |
דוגמה:
<a href="mailto:info@hod.co.il">bla</a>
הכתובת היא [email protected]. יש פה שילוב של תווים רגילים ותווי Ascii. כאשר המשתמש ילחץ על הקישור, הכל יפעל כשורה. אבל, אם יבקש לראות את קוד המקור תהיינה לו שתי הפתעות: האחת, הוא לא ימצא את השטרודל (@) והשנייה, הוא יצטרך להשקיע מאמץ בפענוח.
אם ל-Spider יש טבלת המרה שכזאת, הטִרחה היתה לשווא.
שיטה ג: הצבה, שימוש ב- Internet-Safe Characters
הרעיון | שימוש בייצוג הקסדצימלי (בסיס 16) של התווים. לכל תו יש סימן קבוע המחליף אותו. |
משתמש | אין משמעות לפעולה. |
Spider | אם ה-Spider יודע את השיטה, הוא יוכל בקלות לפענח את הכתובת שלך. |
הערך ההקסדצימלי של התווים a עד z הוא בין 61hex לבין 7Ahex:
Hex | 2d | 2e | 40 | 5f | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 6a | 6b |
Char | – | . | @ | _ | a | b | c | d | e | f | g | h | i | j | k |
Hex | 6c | 6d | 6e | 6f | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 7a |
Char | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
דוגמה:
<a href="mailto:%69%6e%66%6f%40%68%6f%64%2e%63%6f%2e%69%6c">bla</a>
הכתובת היא [email protected]. כאשר המשתמש ילחץ על הקישור, הכל יפעל כשורה. אבל, אם יבקש לראות את קוד המקור תהיינה לו שתי הפתעות: האחת, הוא לא ימצא את השטרודל (@) והשנייה, הוא יצטרך להשקיע מאמץ בפענוח.
אם ל-Spider יש טבלת המרה שכזאת, הטִרחה היתה לשווא.
הערה: שיטות ב' ו- ג' קלות ופשוטות למפתח האתר שמצפין, וגם קלות ופשוטות לפיצוח על ידי ה-Spider.
שיטה ד: תמונה עם הכתובת האלקטרונית שלך
הרעיון | במקום קישור לכתובת האלקטרונית שלך, תופיע תמונה (תמונה ללא קישור). |
משתמש | כדי לכתוב לך הוא יצטרך להעתיק ידנית את הכתובת מהתמונה ולהקליד אותה בתוכנת הדואר שלו. |
Spider | לא מבין מה רוצים ממנו. |
דוגמה:
מחולל כזה ניתן למצוא בכתובת http://www.digitalcolony.com/02/maskemail/inc/genEmailMask.asp
אם אתה דואג מכך שה- Spider יכול לבצע עליה OCR (Optical Character Recognition) ולהפוך את הגרפיקה לטקסט, אתה מוזמן להביט בתמונה הבאה:
נכון, יצירת תמונה אחת כזו דורשת מאמץ וזמן, אבל רק עין אנושית תוכל לפענח את הכתוב בה…, או שדרוש לשם כך Spider מאוד מאוד אינטליגנטי.
והקוד?
<img src="images/signEnc.jpg" />
זהו זה! בשום פנים ואופן לא ל"עטוף" את התמונה בתגית
<script>
a = "name";
b = "domainName.com";
document.write("<a href='mailto:" + a + "@" + b + "'
title='ôúéçú úåëðú äãåàø ùìê'>");
document.write("ãåàø àì÷èøåðé");
document.write("</a>");
</script>
a = "name";
b = "domainName.com";
document.write("<a href='mailto:" + a + "@" + b + "'
title='ôúéçú úåëðú äãåàø ùìê'>");
document.write("ãåàø àì÷èøåðé");
document.write("</a>");
</script>
הערה: משפט document.write צריך להרשם ברצף (ללא לחיצת Enter) עד לסימן ; שלאחריו ניתן ללחוץ Enter.
עליך לשתול את התסריט הזה בדף האינטרנט שאתה בונה, בדיוק במקום שאתה רוצה שיהיה קישור לדואר האלקטרוני שלך.
אם אתה רק רוצה שתופיע הכתובת האלקטרונית שלך ללא קישור, עליך לכתוב את הקוד הבא:
<script>
a = "name";
b = "domainName.com";
document.write(a + "@" + b);
</script>
a = "name";
b = "domainName.com";
document.write(a + "@" + b);
</script>
אפשר לעשות את התסריט יותר מורכב על ידי הצפנה, אבל שוב, אם ה-Spider מסוגל להריץ את התסריט, להצפנה זו אין ערך.
אם המשתמש יבקש לראות את קוד המקור, הוא יצטרך לאתֵר את השטרודל ולחבר את הכתובת בעצמו.
שיטה ו: שילוב שיטות: ד' ו- ה' באופן הבא:
על פי שיטה ד' בה הופכים את הכתובת לקובץ תמונה ועל פי שיטה ה' בה כותבים תסריט. הבה נשלב ביניהן.
הנה תסריט לדוגמה.
<script>
a = "name";
b = "domainName.com";
document.write("<a href='mailto:" + a + "@" + b + "' title='ôúéçú úåëðú äãåàø ùìê'>");
document.write("<img src='images/signEnc.jpg' />");
document.write("</a>");
</script>
a = "name";
b = "domainName.com";
document.write("<a href='mailto:" + a + "@" + b + "' title='ôúéçú úåëðú äãåàø ùìê'>");
document.write("<img src='images/signEnc.jpg' />");
document.write("</a>");
</script>
הערה: משפט document.write צריך להרשם ברצף (ללא לחיצת Enter) עד לסימן ; שלאחריו ניתן ללחוץ Enter.
עליך לשתול את התסריט הזה בדף האינטרנט שאתה בונה, בדיוק במקום שאתה רוצה שיהיה קישור לדואר האלקטרוני שלך.
אם אתה רק רוצה שתופיע הכתובת האלקטרונית שלך ללא קישור – חזור לשיטה ד'.
שיטה ז: כריכת נתונים
הרעיון | כתובת הדואר האלקטרוני נמצאת בקובץ טקסט ואינה חלק מדף HTML. בעת ביצוע הדף, כתובת הדואר נשלפת מהקובץ ומוטבעת בדף HTML. |
משתמש | צריך שרת עם מערכת הפעלה Windows. |
Spider | אינו אמור להבין מה הקוד עושה. אם הוא סורק רק קבצים עם סיומת html, htm, asp אז בסדר. אם הוא סורק גם קבצים אחרים, יש בעיה. אבל אפשר להתחכם. |
הקוד נראה כך:
<object classid=
"clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"
id="ply" height="0" width="0">
<param name="DataURL" value="bla.vdr" />
<param name="UseHeader" value="True" />
</object>
<a datasrc='#ply' datafld='PlayIt'>bla</a>
"clsid:333C7BC4-460F-11D0-BC04-0080C7055A83"
id="ply" height="0" width="0">
<param name="DataURL" value="bla.vdr" />
<param name="UseHeader" value="True" />
</object>
<a datasrc='#ply' datafld='PlayIt'>bla</a>
זה תוכנו של קובץ טקסט בשם bla.vdr (שים לב! זהו קובץ טקסט פשוט עם סיומת vdr במקום txt):
PlayIt
mailto:[email protected]
הסבר: למה נתתי את הסיומת vdr לקובץ טקסט? עשיתי זאת כדי להוריד את הסבירות בה ה-Spider ייגש לקובץ. סיומת vdr היא סתם המצאה שלי וכל סיומת אחרת שתעלה בדעתך תתאים. רק אל תיתן סיומת doc, pdf, txt וסיומות מוכרות אחרות.
אם המשתמש יבקש לראות את קוד המקור תהיינה לו שתי הפתעות: האחת, הוא לא ימצא את השטרודל (@) והשנייה, הוא יצטרך להשקיע מאמץ בהבנה של מה קורה ואיך מתקשר הקובץ עם סיומת vdr?!?
סיכום
יש מספר דרכים להגן על הכתובת האלקטרונית שלך. בכל דרך שתבחר יש לשקול את היתרונות והחסרונות כלפי המשתמשים ואת הקושי או הקלות של ה-Spider בפענוח (פיצוח) הכתובת.
המאמר נכתב ע"י: זהר עמיהוד מחברת הוד עמי, מחבר הספר "HTML & CSS למפתחי אתרים באינטרנט", "אמא, אבא, בניתי אתר באינטרנט" וספרים נוספים בנושאי תכנות: ASP, JavaScript ועוד. תואר שני במינהל עסקים מטעם אוניברסיטת תל-אביב ומוסמך מטעם חברת Microsoft.
תגובות בפייסבוק