Η Mozilla προειδοποιεί τους προγραμματιστές ότι οι εκδόσεις Firefox 100 και Chrome 100 ενδέχεται να σπάσουν ιστότοπους όταν αναλύουν user-agent strings που περιέχουν τριψήφιους αριθμούς εκδόσεων.

Ένας user-agent είναι μια συμβολοσειρά (string) που χρησιμοποιείται από έναν browser και περιλαμβάνει πληροφορίες σχετικά με το λογισμικό του, όπως το όνομα του, τον αριθμό έκδοσής του και τις διάφορες τεχνολογίες που χρησιμοποιεί.

Δείτε επίσης: Firefox: Δεν φορτώνει websites για ορισμένους χρήστες – Ποια η λύση

Όταν ένα άτομο επισκέπτεται έναν ιστότοπο, ο user-agent του browser αποστέλλεται μαζί με το αίτημα για να εμφανιστεί η ιστοσελίδα. Αυτό επιτρέπει στην ιστοσελίδα να ελέγχει την έκδοση του browser του επισκέπτη και να τροποποιεί την απόκρισή του με βάση τις δυνατότητες που υποστηρίζει το πρόγραμμα περιήγησης.

Για παράδειγμα, ο user-agent του Mozilla Firefox 97 είναι ο ακόλουθος:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0

Προειδοποίηση της Mozilla για τους user-agent με τριψήφιο αριθμό έκδοσης

Τον Αύγουστο του 2021, η Mozilla ξεκίνησε ένα πείραμα για να δει εάν η τριψήφια user-agent συμβολοσειρά Firefox/100 θα δημιουργούσε προβλήματα στους ιστότοπους. Παρομοίως, η Google έκανε ένα αντίστοιχο πείραμα για το Chrome/100.

Μετά την διεξαγωγή των πειραμάτων, βρέθηκαν κάποιο ιστότοποι που δεν λειτουργούσαν σωστά κατά την ανάλυση των user-agent strings που περιήχαν τριψήφιους αριθμούς εκδόσεων. Έκτοτε, η Mozilla παρακολουθεί τα σφάλματα στους ιστότοπους αυτούς που προκαλούνται από την αλλαγή της έκδοσης 100 και εντόπισε προβλήματα σε sites όπως στο HBO Go, στο Bethesda, στο Yahoo, στο Slack και σε αυτά που δημιουργήθηκαν από το πρόγραμμα δημιουργίας ιστοσελίδων Duda.

Mozilla: Σπασμένα site λόγω των user-agent των Firefox και Chrome 100

Στο μεγαλύτερο κομμάτι τους, αυτά τα ζητήματα αφορούν κυρίως ιστότοπους που δηλώνουν ότι το πρόγραμμα περιήγησης δεν υποστηρίζεται ενώ παρουσιάζονται ζητήματα interface που επηρεάζουν τμήματα του ιστότοπου. Πιο συγκεκριμένα, η Mozilla αναφέρει ότι διαφορετικοί browsers έχουν διαφορετικές μορφές και ανάλυση για τo string του User-Agent. Είναι πιθανό ορισμένες βιβλιοθήκες ανάλυσης να έχουν σφάλματα με αποτέλεσμα να μην προσμετρούν τριψήφιους αριθμούς εκδόσεων. Επίσης, τονίζει ότι χρειάστηκαν πολλές αλλαγές στις βιβλιοθήκες όταν οι εκδόσεις των browser εξελίχθηκαν σε διψήφιους αριθμούς.

Δείτε επίσης: Η Mozilla αποσύρει τον VR browser Firefox Reality

Τα πειράματα της Mozilla και της Google θα συνεχιστούν εώς ότου να κυκλοφορήσουν οι νέες εκδόσεις 100 για την Mozilla και την Google, στις 3 Μαΐου και 29 Μαρτίου αντίστοιχα. Εάν ωστόσο δεν μπορέσουν να διορθωθούν αυτά τα σφάλματα πριν γίνει η κυκλοφορία των νέων εκδόσεων, οι εταιρείες έχουν ήδη σχηματίσει εφεδρικά σχέδια για να διασφαλίσουν ότι οι ιστότοποι δεν επηρεάζονται.

Αναλυτικότερα, η Mozilla διαθέτει έναν μηχανισμό παρεμβάσεων για να παγώσει το user-agent στο Firefox/99 ή να εισάγει CSS ή άλλες παρακάμψεις για να διορθώσει τα σφάλματα. Επιπρόσθετα, το Chrome σχεδιάζει να παγώσει την έκδοση που εμφανίζεται στο string του user-agent στο 99 για τους ιστότοπους που αυτό αποτελεί πρόβλημα και να αναφέρει την πραγματική έκδοση σε άλλο μέρος του string του user-agent.

Mozilla: Σπασμένα site λόγω των user-agent των Firefox και Chrome 100

Προκειμένου να διεξαχθεί επιτυχώς η ενημέρωση των browser, η Mozilla ζητά από τους developers να δοκιμάσουν εάν η αλλαγή σε user-agent Firefox 100 και Chrome 100 δημιουργεί προβλήματα τους ιστότοπούς τους.

Αυτό μπορεί να γίνει με τον ακόλουθο τρόπο:

Για τον Firefox Nightly:

  • Ανοίξτε το μενού Ρυθμίσεις στο Firefox Nightly.
  • Αναζητήστε το “Firefox 100” και, στη συνέχεια, επιλέξτε την επιλογή “Firefox 100 User-Agent String”.

Όταν είναι ενεργοποιημένο, το User-Agent string του Firefox θα αλλάξει σε:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0

Για τον Chrome:

  • Μεταβείτε στο chrome://flags/#force-major-version-to-100
  • Ορίστε την επιλογή σε «Ενεργοποιημένη».

Όταν είναι ενεργοποιημένο, το User-Agent string του Chrome θα αλλάξει σε:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4758.102 Safari/537.36

Εάν εντοπιστεί το οποιοδήποτε πρόβλημα, το Mozilla ζητά από τους προγραμματιστές να υποβάλουν μια αναφορά στο webcompat.com, ώστε να υπάρχει αρκετός χρόνος για να αντιμετωπιστούν τυχόν προβλήματα.

Πηγή: bleepingcomputer.com