En HTTPS-side, der indlæser scripts over HTTP, sender to anmodninger med to forskellige beskyttelsesniveauer, og hængelåsen beskriver kun den første. En tunnel ændrer ikke det, fordi den beskytter transportøren frem for ressourcens eget skema. Browseren fortæller dig allerede, hvilken anmodning der mislykkedes, hvis du læser konsollen i stedet for adresselinjen. Tre kontroller fører dig fra en delvist fungerende side til en egentlig reparation.

Læs anmodningen, ikke adresselinjen

Et dokument hentet over HTTPS kan referere til et script, et stilark, en skrifttype eller en ramme over almindelig HTTP. Den reference er en særskilt anmodning, og det er den, browseren klager over. Hoveddokumentets beskyttelse rejser ikke tilbage i den, og tunnelen, der bærer begge strømme, ændrer ingen af skemaerne. Siden kan derfor være ægte sikker og ægte i stykker på samme tid.

At kalde ressourcen blot en inkluderet fil gør ikke udskiftningen af den uskadelig.

Hvis usikkert scriptindhold kan ændres undervejs og derefter køres, kan det ændre, hvordan siden opfører sig, hvilket er et større problem end en kosmetisk fejl. Billeder bærer en mindre, men reel risiko, når de ændres undervejs. Hængelåsen lyver ikke om noget. Den svarer på et snævrere spørgsmål end det, du stillede den.

Ved, hvilke ressourcer der blokeres, og hvilke der opgraderes

Browsere behandler ikke alle typer ressourcer ens. vejledningen om blandet indhold adskiller anmodninger, der opgraderes til HTTPS, fra anmodninger, der blokeres helt, idet scripts, stilark og programmatiske anmodninger er på den blokerede side, mens billeder og medier i stedet kan opgraderes eller markeres.

Forskellen forklarer de forvirrende rapporter. En side med et blokeret script mister en funktion helt, mens en side med et opgraderet billede ser fin ud og stille har ændret sin anmodning. De dokumenterede kategorier har også undtagelser, så antag ikke, at hver URL af en given type opgraderes med succes. Læs, hvad konsollen siger om den konkrete anmodning, i stedet for at ræsonnere ud fra en filendelse.

En blokeret widget er ikke bevis på, at tunnelen fejlede. Det er bevis på, at browseren gjorde sit arbejde.

Reparer referencen ved dens kilde

For en ejer af et websted hører reparationen til der, hvor den usikre URL blev skrevet: en skabelon, et stilark, et script der sammensætter URL'er, eller en tredjepartskomponent. At ændre sidens synlige adresse lader alle disse være urørt. Søg kilden igennem for værten, og ret hver reference i stedet for kun den ene, konsollen tilfældigvis nævnte.

Bekræft derefter, at ressourcen faktisk leveres over HTTPS med gyldig identitet, fordi et skemaskifte ikke kan fremmane en tjeneste, der aldrig blev udgivet der.

grep -rn "http://assets.example" ./templates
curl -sSI https://assets.example/widget.js | head -n 1

Følg også omdirigeringer, fordi en reference, der begynder med HTTPS, stadig kan ende på en leveringsvej med klartekst. Når en afhængighed simpelthen ikke har nogen sikker levering, skal du fjerne eller erstatte den gennem den normale ændringsproces i stedet for at sende en omvej. For en bruger skal du lade browserens beskyttelser være slået til og rapportere ressourcens URL, dens type og konsolmeddelelsen til webstedets ejer. Del aldrig instruktioner, der beder medarbejdere om at tillade usikkert indhold for én side, fordi den undtagelse overlever den hændelse, der fremkaldte den.

Test siden igen, som brugerne rører ved den

Afprøv de handlinger, der indlæser ressourcer on demand, ikke kun det første dokument. Sider henter ekstra kode, data og downloads efter et knaptryk, og de anmodninger er ofte de usikre. Bekræft de konkrete anmodninger og den synlige adfærd, mens beskyttelsen stadig er slået til. En test, der begynder med en lempet browserprofil, kan ikke vise dig, hvad en almindelig bruger ser.

Tunnelen har stadig sit eget arbejde, og det arbejde er netværksadgang frem for sideintegritet.

Når trafikken forlader tunnelens endepunkt, har enhver resterende HTTP-hentning ikke vundet noget fra transportøren. Ret ressourcevejen, og behold browserhåndhævelsen. At behandle endnu et transportlag som en reparation af en usikker afhængighed er, hvordan et team ender med et helpdesk-script, der deaktiverer den kontrol, som fungerede korrekt.

Relaterede artikler