עדכון אחרון:  17 פברואר 2003 שעה 09:00 | שלח לי מכתב | צפה בספר האורחים | חתום בספר האורחים | אודות חדר המידע | דף ראשי

 

 

 

 

 

 

קישור עמוק, זדון עמוק (2) / באג הפרמטרים

משה הלוי halemo
17/02/2003


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

 

 

רעיון טכני לקרוא תגובות לכתבות (טוקבקים) ברצף

 

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

 

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

 

לטעמי, הטוקבקים המעניינים ביותר כיום, נמצאים בתגובות לכתבות ולמאמרים ב ynet. בבדיקה טכנית שלי התברר, שהאינדקס של רשימת הטוקבקים נמצא בפריים (מסגרת) אחר, שבשפת ה HTML, השפה שבה נכתב כל דף באינטרנט, נמצא תחת תג של iframe. לפיכך, בניית מערכת כזו כמו שרציתי לבנות, קלה יותר לעבודה עם ynet.

 

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

 

 

כלל מספר 1: קישור לכתבה ב ynet:

 

1. דוגמאות לכתבות ב ynet

http://www.ynet.co.il/articles/0,7340,L-2437714,00.html

http://www.ynet.co.il/articles/1,7340,L-1487508,00.html

http://www.ynet.co.il/articles/1,7340,L-1479368,FF.html

 

2. על פי הדוגמאות, ניתן לראות שתמיד יופיע הרישא הבא:

http://www.ynet.co.il/articles/0,7340,L-

 

3. לאחר מכן, תופיע מספר הכתבה או המאמר. בדוגמאות לעיל הן תהיינה:

2437714

1487508

1479368

 

4. בהמשך יופיע פסיק ולאחריו מספר דו ספרתי. במקרה שלנו 00 או FF.

5. ובסיפא לקישור המלא, יופיע הצירוף .html

 

 

כלל מספר 2:  קישור לתגובות לכתבות ב ynet:

 

1. כדוגמה לכתבה, ניקח את הכתבה הזו

http://www.ynet.co.il/articles/0,7340,L-2437714,00.html

 

שמספרה של הכתבה הוא 2437714.

 

לכתבה זו נבדוק תגובה לדוגמה

http://www.ynet.co.il/YediothPortal/Ext/TalkBack/CdaViewTalkBack/0,2520,L-1847710-2437714,00.html

 

2. על פי הדוגמא, ניתן לראות שתמיד יופיע הרישא הבא בקישור לתגובה:

http://www.ynet.co.il/YediothPortal/Ext/TalkBack/CdaViewTalkBack/0,2520,L-

 

3. לאחר מכן, תופיע מספר התגובה למאמר. בדוגמאה לעיל היא תהיה:

1847710

 

4. בהמשך, לאחר סימן מקף, תופיע מספר הכתבה: 2437714

5. בהמשך יופיע פסיק ולאחריו מספר דו ספרתי כלשהו. במקרה שלנו 00.

6. ובסיפא לקישור המלא, יופיע הצירוף .html

 

 

מדור דעות, מדור מיוחד ושונה

 

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

 

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

 

כלל מספר 3: קישור למאמר במדור דעות ב ynet:

 

1. דוגמה למאמר במדור דעות ב ynet

http://www.ynet.co.il/home/0,7340,L-402-2432155,00.html

 

2. על פי הדוגמה, ניתן לראות שתמיד יופיע הרישא הבא:

http://www.ynet.co.il/articles/0,7340,L-

 

3. לאחר מכן, יופיע מספר הכותב של המאמר. בדוגמה לעיל המספר שווה  402, שזהו מספרה של הכותבת אריאנה מלמד.

 

4. לאחר מכן, לאחר סימן הפסיק, יופיע מספר המאמר  בדוגמה לעיל הוא שווה ל 243155.

 

5. בהמשך יופיע פסיק ולאחריו מספר דו ספרתי. במקרה שלנו 00.

6. ובסיפא לקישור המלא, יופיע הצירוף .html

 

 

כלל מספר 4:  קישור לתגובות למאמרים במדור דעות ב ynet:

 

1. ראו כלל מספר 2. התגובות למאמרים במדור דעות ב ynet, עובדים אותו דבר כמו כתבות של ynet.

 

 

מדור דעות, מדור מיוחד ושונה

 

לאחר שהיו ברשותי ארבעת הכללים לעיל, מערכת בניית התגובות ברצף, שופרה ועבדה מצוין. התוכנה נבדקה על שרת אינטרנט ביתי בעזרת תוכנת PWS של מיקרוסופט ובתמיכה של תוכנה חיצונית שאפשרה להריץ סקריפטים (שפת תסריטים) של שפת פרל ( perl ), השפה בה כתבתי את התוכנה.

 

במהלך הבדיקות, עליתי על כך שמספר הכותב המופיע בקישור למאמר במדור הדעות של ynet, ניתן להחלפה ידנית בכתובת הקישור המלאה המובילה אל המאמר. להפתעתי, יכולתי להחליף את מספרי הכותבים לכל מאמר, על פי רשימה של כותבים שמופיעה במדור דעות (אמצע הדף). לכל כותב יש קישור, ועל פי הכללים לעיל, ניתן לדעת את מספרו של כל כותב.

 

כך למשל, מספרו של הכותב אורי אורבך הוא 1337, ומספרו של הכותב דודו טופז הוא 404. ספי ריבלין כותב תחת מספר 781.

 

 

הופה, עליתי על משהו נחמד

 

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

 

שינוי המספר גרם לשם הכותב להופיע לצד המאמר הקיים (ששם שמו לא הופיע), כולל תמונתו מתחת לשמו.

 

 

16/02/2003

עושים ניסוי בשטח

 

ביום 16/02/2003, הופיע בשעות הצהרים מאמר של דרור ניסן שכותרתו "הכוח והרוח". במאמר ששונה מהקו המקובל כיום בישראל, כותב ניסן על עמדתה המוצדקת של אירופה כנגד המלחמה בעיראק, ומכנה את נשיא ארה"ב והממשל כ"האקדוחנים מוושינגטון".

 

 

 

 

 

 

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

 

את הקישור העמוק החדש למאמר, עם מספר כותב 391 ששמו עמרם מצנע, אני מפרסם בפורום "העניין שלנו" בהייד פארק תחת הכינוי g_yafit (קישור) וכן בפורום סקופים ברוטר נט, תחת הכינוי "יוסף טומי גאן"  (קישור).

 

 

 

 

התגובות לא מאחרות לבוא. "כיצד יתכן", שואלים מספר גולשים, "שעמרם מצנע, זה שרצה להיות ראש ממשלה ישראלי, יוצא במאמר כזה כנגד ידידתנו הגדולה ביותר ארה"ב, במאמר באתר כמו ynet ?". גולש אחר מוסיף: "איזה מזל שלא הפך לראש ממשלה. היינו עכשיו בצרות".

 

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

 

לאחר שאני מתבדח, בכך שלא עמרם מצנע כתב את המאמר אלא איתן הבר כתב לו ( איתן הבר ידוע ככותב מאמרים לראשי ממשלה, בעיקר ליצחק רבין ז"ל ( אני משנה את מספרו של הכותב למספר 1063, שהוא מספרו של איתן הבר.

 

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

 

 

האסימון נפל

 

לחלק מגולשים כבר נופל האסימון. הבאג החדש והלא ידוע של ynet מתגלה לכולם. מתברר שמדור דעות של ynet מאפשר לשנות את שם כותב המאמר בקלות יתרה.

 

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

 

 

אחרית דבר

 

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

 

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

 

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

 

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

 

דוגמה לתוצאת הפלט של התוכנה, אפשר לראות בקישור הבא:

Ynettalkbacks.htm

 

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

 

את הקוד של התוכנה כולל קבצים נלווים, ניתן להוריד כאן:

הקובץ הראשי לעבודה הוא ynet.pl

Ynettalkbacks.zip