Šis raksts apraksta problēmu, kas rodas, kad jūsu tīmekļa vietnes apmeklētāji pieprasa drošu tīmekļa lapu, kas satur nedrošus elementus.
Problēma
Kad jūsu tīmekļa vietnes apmeklētāji pieprasa lapu, izmantojot drošu https:// savienojumu, tīmekļa pārlūkprogrammas adreses joslā var parādīties salauzts lakats. Turklāt viņi var saņemt brīdinājuma ziņojumu savā pārlūkprogrammā:
- Mozilla Firefox: „Šīs tīmekļa vietnes savienojums nav pilnīgi drošs, jo tajā ir nešifrēti elementi (piemēram, attēli).”
- Microsoft Internet Explorer: „Vai vēlaties skatīt tikai tīmekļa lapas saturu, kas tika piegādāts droši? Šī tīmekļa lapa satur saturu, kas netiks piegādāts, izmantojot drošu HTTPS savienojumu, tas var apdraudēt visas tīmekļa lapas drošību.”
- Google Chrome: „Jūsu savienojums ar example.com ir šifrēts ar 256 bitu šifrēšanu. Tomēr šī lapā ir iekļauti citi resursi, kas nav droši. Citu personu var skatīt šie resursi pārvadājot, un uzbrucējs tos var modificēt, lai mainītu lapas izskatu.”
Iemesls
Šī problēma rodas tāpēc, ka tīmekļa lapa satur hipersaites uz nedrošiem elementiem. Piemēram, apsvērsim tīmekļa lapu, kas satur šādu HTML fragmentu:
<a href="http://www.example.com/images/picture.jpg">Skatīt manu attēlu</a>
Šajā HTML fragmentā hiperklikšķis atsaucas uz nedrošu http:// resursu (attēlu failu .jpg). Ja lietotājs pieprasa šo lapu, izmantojot https:// savienojumu, pati lapa ir šifrēta, bet saistītais attēlu fails nav. Kā rezultātā lapa satur drošu un nedrošu saturu, un pārlūks parāda lietotājam brīdinājuma ziņojumu.
Šī problēma var rasties ar jebkuru veidu hipersaitēm saistītu resursu failiem: JavaScript bibliotēka, CSS fails, utt.
Risinājums
Apsveriet veidus, kā šo problēmu atrisināt:
1: Sūtīt Content-Security-Policy atbildes galveni tieši no tīmekļa servera
Lai atrisinātu šo problēmu, jūs varat nosūtīt Content-Security-Policy HTTP atbildes galveni. Šis galvenis norāda tīmekļa pārlūkiem uzlabot nedrošus pieprasījumus uz HTTPS.
Lai Apache tīmekļa serveriem Linuxā pievienojiet šādas rindas failam .htaccess (vai failiem), ko izmantojat savā tīmekļa vietnē:
<IfModule mod_headers.c> Header always set Content-Security-Policy "upgrade-insecure-requests;" </IfModule>
2: Sūtīt Content-Security-Policy direktīvu no lapas avota failiem
Kā alternatīvu varat izmantot šo meta tagu jūsu vietnes lapu avota failos:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
Papildu informācija
Ja jums ir nepieciešama papildu informācija par direktīvu upgrade-insecure-requests, apmeklējiet https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/upgrade-insecure-requests.
Vai meklējat uzticamu aizsardzību savai vietnei? Iegūstiet pareizo aizsardzības līmeni ar mūsu SSL iespējām.