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.
| Tipas | Pavyzdžiai | Naršyklės elgsena |
|---|---|---|
| Pasyvus | img, audio, video | Spynelė panaikinama; dažnai automatiškai pakeliama |
| Aktyvus | script, css, iframe, font, fetch | Visiškai blokuojama |
Žingsnis po žingsnio: kaip rasti ir pašalinti
- 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.
- 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. - 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.
- 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://. - 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.
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
Kas yra SSL/TLS? Paprastas paaiškinimas
Kaip iš tiesų veikia SSL/TLS šifravimas, kodėl kiekvienai svetainei reikia HTTPS ir ką reiškia spynelė naršyklėje.
Skaityti →SSL / TLS ir šifravimasTLS 1.3 paaiškinimas: kas pasikeitė ir kodėl tai svarbu
Aiški TLS 1.3 apžvalga — greitesnis rankos paspaudimas, tobulas slaptumas ir kaip patikrinti, ar svetainė jį palaiko.
Skaityti →SSL / TLS ir šifravimasSSL sertifikatų tipai: DV, OV ir EV palyginimas
Domeno, organizacijos ir išplėstinio patvirtinimo sertifikatai palyginti — kurio iš tiesų reikia jūsų svetainei.
Skaityti →Patikrinkite savo svetainę pagal šį vadovą
Atlikite nemokamą ScanOpsPro patikrą ir pažiūrėkite, kaip jūsų svetainė tvarkosi su pagrindais.
Atlikti nemokamą patikrą