Kaip pašalinti „mišraus turinio“ įspėjimus

Jūsų svetainė kraunasi per HTTPS, bet spynelės nėra arba konsolė pilna įspėjimų. Įprasta priežastis yra mišrus turinys: saugus puslapis įkelia dalį išteklių per nesaugų http://. Štai kodėl tai sugadina spynelę ir kaip tai galutinai pašalinti.

Trumpai

Mišrus turinys — kai HTTPS puslapis įkelia paveikslėlius, scenarijus, stilius ar šriftus per paprastą HTTP. Naršyklės juos blokuoja arba pažemina, o tai panaikina spynelę. Sutvarkysite atnaujinę kiekvieno ištekliaus URL į https:// (arba protokolui reliatyvų), tada pridėję CSP direktyvą upgrade-insecure-requests kaip apsaugos tinklą. Kaltininkus greitai rasite mūsų nemokama patikra arba naršyklės konsolėje.

Kodėl vienas HTTP išteklius sugadina spynelę

Spynelė yra pažadas: viskas šiame puslapyje atkeliavo saugiai. Vos vienam ištekliui pasikrovus per HTTP, tas pažadas sulaužomas — užpuolikas tinkle galėtų suklastoti būtent tą vieną failą. Užuot rodžiusi ne visiškai teisingą spynelę, naršyklė pažemina indikatorių arba visiškai blokuoja išteklių. Todėl net teisingas SSL/TLS sertifikatas neduos jums švarios spynelės, jei pats puslapis nurodo nesaugų turinį.

Aktyvus ir pasyvus mišrus turinys

Naršyklės skirtingai traktuoja dvi kategorijas pagal tai, kiek kiekviena pavojinga.

Pasyvus (arba „rodymo“) mišrus turinys

Paveikslėliai, garsas ir vaizdo įrašai, įkelti per HTTP. Jie negali vykdyti kodo, todėl rizika mažesnė — užpuolikas galėtų pakeisti paveikslėlį, bet ne perimti puslapio valdymo. Naršyklės dažnai vis dar juos įkelia, bet panaikina spynelę ir užregistruoja įspėjimą. Vis dažniau jos ten, kur įmanoma, automatiškai pakelia juos į HTTPS.

Aktyvus mišrus turinys

Scenarijai, stilių lapai, „iframe“, šriftai ir XHR/fetch užklausos per HTTP. Jie gali pakeisti visą puslapį, todėl yra pavojingi. Šiuolaikinės naršyklės juos visiškai blokuoja. Štai kodėl nesaugus <script> gali priversti dalį svetainės tiesiog nustoti veikti — sugedęs meniu, dingęs valdiklis, negyva forma.

TipasPavyzdžiaiNaršyklės elgsena
Pasyvusimg, audio, videoSpynelė panaikinama; dažnai automatiškai pakeliama
Aktyvusscript, css, iframe, font, fetchVisiškai blokuojama

Žingsnis po žingsnio: kaip rasti ir pašalinti

  1. Raskite kaltininkus. Atverkite puslapį, paleiskite naršyklės kūrėjų konsolę ir ieškokite „Mixed Content“ pranešimų — kiekvienas įvardija tikslų HTTP URL. Svetainės patikra juos taip pat parodo.
  2. Pataisykite įkoduotas nuorodas. Atnaujinkite http:// į https:// savo šablonuose, temos failuose ir turinyje. Turinio valdymo sistemoje tai dažnai yra ir duomenų bazėje, ir temoje.
  3. Sutvarkykite trečiųjų šalių išteklius. Jei išorinis išteklius neturi HTTPS versijos, talpinkite jį patys arba pakeiskite. Niekada nepalikite nesaugaus trečiosios šalies scenarijaus.
  4. Atnaujinkite duomenų bazę (CMS svetainės). Tokiose platformose kaip WordPress atlikite paiešką ir keitimą per įrašų turinį bei nustatymus, kad senus http:// URL pakeistumėte į https://.
  5. Patikrinkite iš naujo. Įsitikinkite, kad konsolė švari ir spynelė sugrįžo.

CSP apsaugos tinklas

Kai akivaizdūs kaltininkai pašalinti, pridėkite turinio saugumo politikos direktyvą, liepiančią naršyklei automatiškai pakelti bet kokias likusias HTTP nuorodas į HTTPS prieš jas užklausiant:

Content-Security-Policy: upgrade-insecure-requests

Tai pagauna praleistus atsitiktinius URL — pavyzdžiui, seną paveikslėlio nuorodą pamirštame įraše — ir perrašo juos vietoje. Tai atsarginė priemonė, o ne šaltinio taisymo pakaitalas, bet vertinga. Daugiau sužinosite mūsų CSP vadove ir platesniame saugumo antraščių kontroliniame sąraše.

Pirmiausia taisykite šaltinį. upgrade-insecure-requests pakelia tik tuos URL, kurie turi veikiančią HTTPS versiją. Jei išteklius per HTTPS iš tikrųjų neprieinamas, jis vis tiek neveiks — tad sutvarkykite šablonus ir duomenų bazę prieš pasikliaudami antrašte.

Kaip užkirsti kelią pasikartojimui

Kai jau švaru, įsitikinkite, kad visoje svetainėje nukreipiate HTTP į HTTPS ir naujame turinyje naudojate protokolui reliatyvias arba absoliučias https:// nuorodas. Pridėjus HSTS dar užtikrinama, kad naršyklės niekada net nebandys nesaugios užklausos į jūsų domeną. Visą vaizdą patikrinkite atlikę nemokamą patikrą.

Dažniausiai užduodami klausimai

Kodėl mano svetainė rodo „Ne visiškai saugu“ net su galiojančiu sertifikatu?

Nes puslapis įkelia bent vieną išteklių per HTTP. Sertifikatas tvarkingas; problema yra mišrus turinys. Raskite probleminį URL naršyklės konsolėje ir perjunkite jį į HTTPS.

Kodėl dalis mano puslapio nustojo veikti perėjus prie HTTPS?

Aktyvus išteklius — paprastai scenarijus ar stilių lapas — vis dar kraunasi per HTTP, ir naršyklė jį blokuoja. Atnaujinkite tą išteklių į HTTPS, ir funkcija sugrįš.

Ar upgrade-insecure-requests viską pataiso automatiškai?

Jis pakelia HTTP nuorodas, turinčias galiojantį HTTPS atitikmenį, bet negali sukurti to, kurio nėra. Pirmiausia sutvarkykite šablonus ir duomenų bazę, tada naudokite jį kaip apsaugos tinklą.

Susiję vadovai

Patikrinkite savo svetainę pagal šį vadovą

Atlikite nemokamą ScanOpsPro patikrą ir pažiūrėkite, kaip jūsų svetainė tvarkosi su pagrindais.

Atlikti nemokamą patikrą