O pagină HTTPS care încarcă scripturi prin HTTP face două cereri cu două niveluri de protecție diferite, iar lăcățelul descrie doar prima. Un tunel nu schimbă asta, pentru că protejează transportul, nu schema proprie a resursei. Browserul îți spune deja care cerere a eșuat, dacă citești consola în locul barei de adrese. Trei verificări te duc de la o pagină care funcționează pe jumătate la o reparație reală.

Citește cererea, nu bara de adrese

Un document obținut prin HTTPS poate referi un script, o foaie de stil, un font sau un cadru prin HTTP simplu. Acea referință este o cerere separată, și despre ea se plânge browserul. Protecția documentului principal nu călătorește înapoi în ea, iar tunelul care transportă ambele fluxuri nu schimbă niciuna dintre scheme. Așadar pagina poate fi simultan cu adevărat sigură și cu adevărat stricată.

A numi resursa doar un fișier inclus nu face înlocuirea ei inofensivă.

Dacă conținutul unui script nesigur poate fi modificat în tranzit și apoi executat, el poate schimba comportamentul paginii, ceea ce este o problemă mai mare decât o defecțiune cosmetică. Imaginile poartă un risc mai mic, dar real, atunci când sunt modificate pe drum. Lăcățelul nu minte despre nimic. Răspunde la o întrebare mai îngustă decât cea pe care i-ai pus-o.

Află ce resurse sunt blocate și care sunt promovate

Browserele nu tratează la fel fiecare tip de resursă. îndrumările despre conținut mixt separă cererile promovate la HTTPS de cele blocate de tot, cu scripturile, foile de stil și cererile programatice de partea blocată, în timp ce imaginile și media pot fi în schimb promovate sau marcate.

Această diferență explică rapoartele confuze. O pagină cu un script blocat pierde complet o funcționalitate, în timp ce o pagină cu o imagine promovată arată bine și și-a schimbat discret cererea. Categoriile documentate au și excepții, așa că nu presupune că fiecare URL de un anumit tip va fi promovat cu succes. Citește ce spune consola despre cererea concretă în loc să raționezi pornind de la o extensie de fișier.

Un widget blocat nu este dovada că tunelul a eșuat. Este dovada că browserul și-a făcut treaba.

Repară referința la sursa ei

Pentru proprietarul site-ului, reparația aparține locului unde a fost scris URL-ul nesigur: un șablon, o foaie de stil, un script care asamblează URL-uri sau o componentă terță. Schimbarea adresei vizibile a paginii lasă toate acestea neatinse. Caută în sursă gazda și repară fiecare referință, nu doar pe cea pe care consola a numit-o din întâmplare.

Apoi confirmă că resursa este într-adevăr servită prin HTTPS cu o identitate validă, pentru că o schimbare de schemă nu poate face să apară un serviciu care nu a fost niciodată publicat acolo.

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

Urmărește și redirecționările, pentru că o referință care începe cu HTTPS poate ajunge totuși pe o cale de livrare în text simplu. Când o dependență pur și simplu nu are o livrare sigură disponibilă, elimină-o sau înlocuiește-o prin procesul obișnuit de schimbare, în loc să livrezi o soluție ocolitoare. Pentru utilizator, lasă protecțiile browserului active și raportează proprietarului site-ului URL-ul resursei, tipul ei și mesajul consolei. Nu răspândi niciodată instrucțiuni care le cer angajaților să permită conținut nesigur pentru o pagină, pentru că acea excepție supraviețuiește incidentului care a provocat-o.

Testează din nou pagina așa cum utilizatorii o ating

Exersează operațiile care încarcă resurse la cerere, nu doar primul document. Paginile aduc cod, date și descărcări suplimentare după apăsarea unui buton, iar acele cereri sunt adesea cele nesigure. Confirmă cererile concrete și comportamentul vizibil cu protecția încă activă. Un test care începe cu un profil de browser relaxat nu îți poate arăta ce vede un utilizator obișnuit.

Tunelul are în continuare propria treabă, iar acea treabă este accesul la rețea, nu integritatea paginii.

Odată ce traficul părăsește punctul final al tunelului, nicio preluare HTTP rămasă nu a câștigat nimic de la transport. Repară calea resursei și păstrează aplicarea în browser. A trata încă un strat de transport ca reparație pentru o dependență nesigură este felul în care o echipă ajunge cu un script de asistență care dezactivează controlul care funcționa corect.

Articole similare