יצירת קשר עם התמיכה

אנחנו משיבים בדוא״ל, בדרך כלל בתוך יומיים.

למניעת שימוש לרעה, Google reCAPTCHA בודק את הפנייה הזאת; נתונים נשלחים אל Google. הסקריפט נטען רק עם פתיחת הטופס הזה.

→ כל הרשומות

כתובת דף ארוכה יותר מהעמודה שלה

על התוכן ועל בדיקתו

במאמר הזה

ב־9 באוגוסט 2026, עשרים תמונות מונה לא צוירו. לא צוירו לא נכון, לא צוירו לאט — המבקר לא קיבל דבר במקום שבו היה אמור להיות מונה.

הסיבה הייתה כתובת דף ארוכה מ־255 תווים. היא נחתכת כעת בנקודת הכתיבה, ותמונת המונה כבר אינה תלויה באורך הכתובת שמדווחת לה.

השרשרת

העמודה ששומרת באיזה דף נחת ביקור היא varchar(255). הכתובת הגיעה ארוכה יותר מזה. ההוספה נכשלה עם SQLSTATE 22001, נתונים ארוכים מדי לעמודה, ובקוד הזה הדבר גרם לחריגה.

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

העמודהvarchar(255)ההוספה נכשלתSQLSTATE 22001חריגהמפסיקה את הבקשההמבקר אינו מקבל תמונת מונה

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

התיקון, והתיקון שלא נבחר

הכתובת נחתכת כעת לרוחב העמודה לפני ההוספה. עשרים תווים של כתובת URL ארוכה מאוד אובדים מרשימת הדפים; שום דבר אחר אינו משתנה.

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

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

שני דברים שכדאי לקחת מכאן

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

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

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

פרסומת