Смесено съдържание зад VPN: оправете ресурса, а не тунела
Катинарът описва документа, а не скриптовете, които той зарежда. Прочетете конзолата, запазете блокирането, поправете препратката в източника ѝ и след това тествайте страницата отново.
Страница по HTTPS, която зарежда скриптове по HTTP, прави две заявки с две различни нива на защита и катинарът описва само първата. Тунелът не променя това, защото защитава носителя, а не собствената схема на ресурса. Браузърът вече ви казва коя заявка е неуспешна, ако четете конзолата вместо адресната лента. Три проверки ви водят от частично работеща страница до истинско поправяне.
Четете заявката, а не адресната лента
Документ, изтеглен по HTTPS, може да реферира скрипт, таблица със стилове, шрифт или рамка по обикновен HTTP. Тази препратка е отделна заявка и именно за нея се оплаква браузърът. Защитата на основния документ не се пренася обратно в нея, а тунелът, който носи двата потока, не променя нито една от двете схеми. Затова страницата може едновременно да е наистина защитена и наистина счупена.
Наричането на ресурса просто включен файл не прави замяната му безвредна.
Ако незащитено съдържание на скрипт може да бъде променено по пътя и след това изпълнено, то може да промени поведението на страницата, което е по-голям проблем от козметична повреда. Изображенията носят по-малък, но реален риск, когато бъдат променени по пътя. Катинарът не лъже за нищо. Той отговаря на по-тесен въпрос от този, който сте задали.
Знайте кои ресурси се блокират и кои се повишават
Браузърите не третират всички типове ресурси еднакво. насоките за смесено съдържание разделят заявките, които се повишават до HTTPS, от заявките, които се блокират напълно, като скриптовете, таблиците със стилове и програмните заявки са от блокираната страна, докато изображенията и медиите може вместо това да се повишат или маркират.
Тази разлика обяснява объркващите отчети. Страница със блокиран скрипт губи функция напълно, докато страница с повишено изображение изглежда добре и тихо е променила заявката си. Документираните категории също имат изключения, така че не приемайте, че всеки URL от даден тип ще се повиши успешно. Четете какво казва конзолата за конкретната заявка, вместо да разсъждавате от разширението на файла.
Блокиран елемент не е доказателство, че тунелът е отказал. Това е доказателство, че браузърът си е свършил работата.
Поправете препратката в източника ѝ
За собственика на сайта поправката принадлежи там, където е записан незащитеният URL: шаблон, таблица със стилове, скрипт, който сглобява URL адреси, или компонент на трета страна. Промяната на видимия адрес на страницата оставя всичко това незасегнато. Търсете в източника хоста и поправете всяка препратка, а не единствената, която конзолата случайно е посочила.
След това потвърдете, че ресурсът наистина се доставя по HTTPS със валидна идентичност, защото смяната на схемата не може да създаде услуга, която никога не е била публикувана там.
grep -rn "http://assets.example" ./templates
curl -sSI https://assets.example/widget.js | head -n 1Следвайте и пренасочванията, защото препратка, която започва с HTTPS, все още може да попадне на път за доставка с открит текст. Когато зависимост просто няма налична защитена доставка, премахнете я или я заменете чрез обичайния процес на промяна, вместо да пускате заобиколно решение. За потребителя оставете защитите на браузъра включени и съобщете на собственика на сайта URL адреса на ресурса, неговия тип и съобщението от конзолата. Никога не разпространявайте инструкции, които казват на служителите да разрешат незащитено съдържание за една страница, защото това изключение надживява инцидента, който го е предизвикал.
Тествайте страницата отново така, както потребителите я докосват
Упражнявайте операциите, които зареждат ресурси при поискване, а не само първия документ. Страниците изтеглят допълнителен код, данни и изтегляния след натискане на бутон и тези заявки често са незащитените. Потвърдете конкретните заявки и видимото поведение, докато защитата е все още включена. Тест, който започва с облекчен профил на браузъра, не може да ви покаже какво вижда обикновеният потребител.
Тунелът все още има своята работа и тази работа е мрежов достъп, а не цялост на страницата.
След като трафикът напусне крайната точка на тунела, всяка останала HTTP заявка не е спечелила нищо от носителя. Поправете пътя на ресурса и оставете прилагането от браузъра на мястото му. Третирането на още един транспортен слой като поправка на незащитена зависимост е начинът, по който екипът стига до скрипт за помощна служба, който изключва контрола, който е работел правилно.