בונוס למקרה חירום covid-19: הניתוח העצוב של פורטל ה- INPS ...

(של אגודל מנוגד)
02/04/20

לא קרה מה שקרה אתמול, היום הראשון בו ניתן היה לבקש את הבונוס שהמדינה הקצתה לעצמאים בעבור חירום covid-19. היה צפוי (בלתי צפוי, אך צפוי מאוד!) שכל הזכאים ינסו מייד להשלים את היישום על ידי חיבור בו זמנית לפורטל INPS. מי שמנהל פורטל מסחר אלקטרוני יודע היטב, אכן מטרתו, כי בהכרזת הצעות על מוצרים מסוימים הוא יצטרך לעמוד בפני בקשות רבות לגישה סימולטנית של לקוחות פוטנציאליים. וזה נדרש לנקוט באמצעי הנגד הנדרשים, הן מגדילות באופן זמני את יכולת הקבלה של האתר, דבר שאפשר לבצע כיום אם יש לך ארכיטקטורה מבוזרת או "ענן", וגם על ידי רכישת מעין "מחסל קוד" המאפשר גישה למספר מרבי של נושאים. במקביל, מבקש מהעודפים לנסות שוב מאוחר יותר. בימים אלה כשכולנו בבית, רבים רצו במקרה לעשות את הקניות מקוון ולמצוא את אתר הסופרמרקט הפועל במלואו אך אינו זמין למספר הלקוחות המרבי שניתן לשרת בו זמנית.

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

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

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

בואו נראה כמה דוגמאות.

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

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

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

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

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

צילום: טוויטר