Ограничаване на пренаписването на съдържание от прокси с 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 или пренаписани URL адреси на изображения. Замяната на едно старо име на функция, добавянето на необичаен коментар или съпоставянето на исторически адрес за вмъкване не установява цялост на съдържанието за следващия посредник.
Когато разследвате доклад, сравнете получения отговор с предвиденото съдържание на източника и определете къде завършва TLS. Тези доказателства са по-полезни от това да третирате всеки непознат скрипт като грешка в собствения код на приложението на сайта.