Περιορισμός της επανεγγραφής περιεχομένου διαμεσολαβητή με no-transform και HTTPS
Χρησιμοποιήστε το no-transform για να δηλώσετε πολιτική περιεχομένου HTTP και το HTTPS για να προστατεύσετε τη σύνδεση του προγράμματος περιήγησης από αλλαγή της σελίδας κατά τη μεταφορά.
Ένας διαμεσολαβητής που μετασχηματίζει περιεχόμενο μπορεί να αλλάξει μια απόκριση στο δρόμο προς το πρόγραμμα περιήγησης: να επανασυμπιέσει μια εικόνα, να ξαναγράψει τη σήμανση ή να εισαγάγει βοηθητικό JavaScript. Μια σελίδα που λειτουργεί σε ένα δίκτυο και αποκτά άγνωστη σήμανση σε άλλο μπορεί να συναντά ακριβώς αυτή τη συμπεριφορά του ενδιάμεσου.
Για έναν ιστότοπο που διαχειρίζεστε, το HTTP παρέχει μια ρητή οδηγία απόκρισης:
Cache-Control: no-transform
Το RFC 9111 απαιτεί από έναν ενδιάμεσο που λαμβάνει αυτή την οδηγία απόκρισης να αφήσει το περιεχόμενο αμετασχημάτιστο, ανεξάρτητα από το αν εφαρμόζει προσωρινή μνήμη. Είναι σχετικό με την επανασυμπίεση εικόνων και την έγχυση σήμανσης, όχι μόνο με το αν ένα αντικείμενο αποθηκεύεται.
Κρατήστε το μαζί με την υπάρχουσα πολιτική προσωρινής μνήμης
Αν μια απόκριση έχει ήδη οδηγίες προσωρινής μνήμης, προσθέστε την απαίτηση σκόπιμα αντί να απορρίψετε την υπόλοιπη πολιτική. Για παράδειγμα, ένας δημόσια αποθηκεύσιμος πόρος μπορεί να έχει:
Cache-Control: public, max-age=3600, no-transform
Αυτό το παράδειγμα διατηρεί πολιτική φρεσκάδας μιας ώρας ενώ απαγορεύει τον μετασχηματισμό περιεχομένου. Το no-transform δεν συνεπάγεται no-store ούτε απενεργοποιεί τη συνήθη επεξεργασία μεταφοράς. Ορίστε το στις αποκρίσεις των οποίων το αρχικό περιεχόμενο έχει σημασία, συμπεριλαμβανομένων χωριστών αποκρίσεων εικόνων όπου αρμόζει.
Η οδηγία λειτουργεί μέσω της συμμόρφωσης του ενδιάμεσου. Δεν εμποδίζει κρυπτογραφικά μια συσκευή δικτύου να αγνοήσει την οδηγία.
Προστατέψτε και τη μεταφορά
Το HTTPS δίνει στο πρόγραμμα περιήγησης μια σύνδεση με έλεγχο ταυτότητας και προστασία ακεραιότητας προς τον ομότιμό του στο TLS. Ένας συνηθισμένος διαμεσολαβητής παρόχου που περνά κρυπτογραφημένη κίνηση δεν μπορεί να εισαγάγει αθόρυβα σενάριο σε αυτή τη προστατευμένη σύνδεση. Κρατήστε την επαλήθευση πιστοποιητικών ενεργή· ένας τοπικά έμπιστος διαμεσολαβητής επιθεώρησης που τερματίζει το TLS είναι διαφορετική διάταξη.
Σερβίρετε τη σελίδα και τους εξαρτώμενους πόρους της μέσω HTTPS. Ανακατευθύνετε τους επισκέπτες HTTP στο HTTPS και εξετάστε το HSTS για ανάπτυξη που μπορεί να το υποστηρίξει σταθερά. Μια ανακατεύθυνση μόνη της ξεκινά με μη προστατευμένη ανταλλαγή HTTP για επισκέπτη που χρησιμοποίησε διεύθυνση HTTP· μια πολιτική HSTS που έχει μαθευτεί προηγουμένως ή έχει προφορτωθεί αλλάζει αυτή την αρχική επιλογή.
Ο αποκλεισμός ενός ενέσιμου σεναρίου μπορεί να μειώσει τα ορατά αποτελέσματά του, αλλά η απόκριση μπορεί να περιέχει ήδη αλλαγμένο HTML ή ξαναγραμμένες διευθύνσεις εικόνων. Η αντικατάσταση ενός παλιού ονόματος συνάρτησης, η προσθήκη ασυνήθιστου σχολίου ή η αντιστοίχιση μιας ιστορικής διεύθυνσης έγχυσης δεν τεκμηριώνει ακεραιότητα περιεχομένου για τον επόμενο ενδιάμεσο.
Όταν διερευνάτε μια αναφορά, συγκρίνετε την απόκριση που λάβατε με το προβλεπόμενο περιεχόμενο της προέλευσης και εντοπίστε πού τερματίζεται το TLS. Αυτό το στοιχείο είναι πιο χρήσιμο από το να θεωρείτε κάθε άγνωστο σενάριο σφάλμα στον κώδικα της ίδιας της εφαρμογής του ιστότοπου.