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 захтев није добио ништа од носача. Поправите путању ресурса и задржите спровођење у прегледачу. Третирање још једног транспортног слоја поправком несигурне зависности јест начин на који тим заврши са скриптом за помоћну службу која искључује контролу која је исправно радила.

Повезани чланци