Puse lapas tiek atveidota, viena stila lapa tīkla panelī paliek pelēka, un VPN klients joprojām ziņo par veselu tuneli. Visi trīs novērojumi ir patiesi vienlaikus, jo pārlūks novērtēja lapas veikto pieprasījumu, un tunelim šajā vērtējumā nebija balss. Lietu noslēdz lēmums, nevis iestatījums: labot atsauci, eskālēt to resursdatora īpašniekam vai atteikties no atkarības. Katrai no šīm iespējām ir lēts tests, un nepareizās izvēle izmaksā vienu atbalsta ciklu.

Kāpēc tunelis nevar aptvert apakšresursu

Jauktais saturs sākas ar HTTPS dokumentu, kas pieprasa apakšresursu pa vienkāršu HTTP. Katrs URL tiek vērtēts pēc savas shēmas, tāpēc vecākdokumenta aizsardzība nekad neattiecas uz bērna pieprasījumu. Šifrēšana, kas pievienota zem pārlūka, maina to, kas iet pa vadu, nevis http://, ko pieprasīja marķējums.

Pašreizējie pārlūki sadala šos pieprasījumus divās grupās un izturas pret tiem atšķirīgi. Skripti, stila lapas, iframe un izsaukumi ar fetch, XMLHttpRequest vai WebSocket tiek noraidīti uzreiz, bez iepriekšēja jaunināšanas mēģinājuma. Attēli, audio un video tiek pārrakstīti uz https:// un pieprasīti vēlreiz, un ielāde tiek pārtraukta, kad šī drošā iegūšana neizdodas. Apakšresursa URL, kura resursdators ir kaila IP adrese, ir atbrīvots no jaunināšanas, tāpēc HTTP attēls IP resursdatorā paliek bloķēts, nevis tiek klusi labots. Šis sadalījums, tostarp minētais izņēmums jaunināmajā pusē, ir dokumentēts Mozilla jauktā satura rokasgrāmatā. Chrome piemēro līdzīgu atteikumu nedrošām lejupielādēm, kas sāktas no drošas lapas, tāpēc PDF saite var nomirt, kamēr apkārtējā lapa izskatās neskarta.

Pelēkā rinda tāpēc ir pierādījums, ka kontrole darbojas, nevis pierādījums, ka tunelis ir izlaidis atklātu tekstu. Uztveriet rindu kā atradumu, kas norāda uz vienu atsauci, nevis uz visu lapu.

Nosakiet, kam pieder nedrošā atsauce

Kārtojiet problemātisko URL pēc tā, kur tas rodas, pirms kaut ko mainīt. Šī atbilde izlemj, vai šodien varat izlaist labojumu, vai to jāizlaiž piegādātājam, vai atkarībai jāatstāj lapa. Izlasiet to kolonnā Initiator tīkla panelī, jo marķējums ekrānā bieži tiek salikts izpildes laikā.

No kurienes nāk URLKas to var labotPirmais solis
Cieti kodēts veidnē vai daļā, ko izvietojatJūsAizstājiet to ar https:// formu un pēc tam notīriet kešatmiņu
Ievietots ar tagu pārvaldnieku vai piegādātāja pakotniPiegādātājs, ar jūsu biļetiNosūtiet precīzu URL, pieprasījuma tipu un konsoles rindu
Apkalpots tikai 80 portā bez TLS klausītājaResursdatora īpašnieksPieprasiet TLS, novietojiet priekšā kaut ko savu vai atsakieties no tā

Kad resursdators jau atbild 443 portā un tikai atsauce saka http, labojums ir vietējs: mainiet atsauci, notīriet lapas kešatmiņu un apstipriniet, ka rinda kļūst https. Resursdatoru, kas klausās tikai 80 portā, nevar rediģēšanu padarīt atbilstošu, tāpēc resurss pārvietojas, priekšā tam tiek novietots kaut kas, ko kontrolējat jūs, vai tas pazūd. Tagu pārvaldnieka ievietots URL joprojām parādās pat tad, kad jūsu pašu veidne ir tīra, un šis gadījums pieder biļetei ar precīzu URL un konsoles rindu pielikumā. Teikt personālam, lai atļauj nedrošu saturu, nav neviena no šīm iespējām, jo tas izslēdz pārbaudi katrai vietnei, ko apmeklē šis pārlūka profils.

Labojiet atsauci, nevis pārlūka iestatījumu

Pārlādējiet neizdevušos plūsmu ar saglabātu tīkla žurnālu un filtrējiet paneli pēc aizdomīgā resursdatora. Konsole nosauc URL un direktīvu, kas izlemj, vai pieprasījums tika noraidīts vai jaunināts, pirms jūs aiztiecat veidni.

curl -sSI https://cdn.example.org/vendor.js | head -n 1
curl -sS -o /dev/null -w '%{http_code} %{url_effective}\n' -L https://cdn.example.org/vendor.js

Divi atbalsta kontroldarbi ir vērts zināt, un neviens neaizstāj labojumu. Content-Security-Policy galvene ar upgrade-insecure-requests liek pārlūkam pārrakstīt http apakšresursu URL, pirms tie atstāj lapu, kas noķer vecās atsauces, kuras vēl neesat atradis. Pārrakstītais pieprasījums joprojām neizdodas, kad mērķa resursdators neapkalpo HTTPS, tāpēc galvene maina tikai to, kuru URL pārlūks mēģina. HSTS darbojas katram resursdatoram, kas nozīmē, ka politika jūsu pašu domēnā neko nedara trešās puses CDN, kas nekad nav nosūtījis galveni. Pēc veidnes maiņas notīriet lapas kešatmiņu un atveidotajā HTML meklējiet veco resursdatora nosaukumu, jo tas pats URL var nākt arī pa daļu, tulkojuma virkni vai datubāzes lauku.

Sekojiet arī pāradresācijām, jo ķēde, kas sākas ar https://, var nokļūt http:// vietā, un pārlūks vērtē pēdējo lēcienu. Otrās komandas -L forma izdrukā šo efektīvo URL jūsu vietā. Ja pēdējais lēciens ir tīrs http, atsauce joprojām ir nepareiza, lai gan rediģētā saite izskatījās labi.

Apstipriniet lapu ar konsoli un tīkla paneli

Pārlādējiet ar izslēgtu kešatmiņu un vēlreiz izstaigājiet plūsmu, tostarp pogas, kas ielādē saturu pēc pieprasījuma. Pirmā lapas ielāde paslēpj slinkos logrīkus, kartes flīzes un atskaņotāja skriptus, kas parādās tikai pēc klikšķa. Konsolē nedrīkst būt jaukta satura ierakstu, un katrai aiztiktajai rindai jārāda https. Uzņemiet konsoli un pieprasījuma rindu pirms biļetes aizvēršanas, jo šo stāvokli pēc nākamās izvietošanas ir grūti atjaunot.

Kad resurss pieder kādam citam, nosūtiet četras lietas: precīzu URL, pieprasījuma tipu, konsoles tekstu un lapu, kurā tas parādās. Paslēpiet sesijas identifikatorus visā, ko ielīmējat biļetē. Ziņojums, kas tikai saka, ka attēli ir salauzti, īpašniekam neko nedod meklēšanai.

Tunelis turpina darīt savu darbu, kamēr labojums atrodas atsaucē, kas izveidoja pieprasījumu. Pēc izvietošanas vēlreiz meklējiet resursdatora nosaukumu veidnē un piegādātāja pakotnē un aizveriet lietu tikai tad, kad konsolē nav palicis neviens bloķēts jaukta satura ieraksts.

Saistītie raksti