Mixed content over https – De ce pagina mea nu e sigura?
January 4, 2020
Nu merge și așa, fără certificat?
Merge, dar browserele vor avea mare grijă să afișeze un mesaj prin care anunță vizitatorii că site-ul nu e sigur.
Păi, șite-ul meu are doar niște poze cu ciobănești miortici și niște texte pe care le-am scris când eram mai mult beat? De acord, ciobăneștii pot fi periculoși dar ce nu e sigur la site-ul meu?
Ei bine, conexiunea nu e securizată! Asta înseamnă că atunci când cineva își scrie numele și parola, aceasta sunt transmise ca atare către serverul care găzduiește site-ul și, teoretic, pot fi interceptate. Pe de altă parte, aceste date sensibile sunt protejate atunci când conexiunea e securizată, pentru că browserul și serverul web comunică prin intermediul unui fel „alfabet secret”, ca să supra-simplificăm lucrurile.
Suna bine, dar site-ul meu nu are interfață cu utilizatorii, nimeni nu trebuie să-mi transmită nicio parolă și niciun fel de date personale. Eu am doar poze cu câini, de ce trebuie să-l securizez?
Pentru că nu costă nimic. Prin intermediul asociației non profit Let’s encrypt, această opțiune este gratuită și peste 200 mil de site-uri o folosesc. În realitate, presupune puțină bătaie de cap dacă te ocupi manual de toată procedură. Eu, din fericire, am folosit un script integrat în cPanel și instalarea certificatului a fost automată.
După ce instalam certificatul e musai sa ne asigurăm că serverul web va redirecționa toate cererile către versiunea securizată a site-ului. Mai exact, în loc de http://pinzaru.ro va deschide https://pinzaru.ro. Dacă folosim cPanel, iarăși nu e o treabă deloc complicată, după cum putem observa în imaginea de mai jos.
Am instalat certificatul, am redirecționat și pagina mea tot nu e sigură!
Chrome o ține pe-a lui și zice că pur și simplu treaba nu e sigură..
Firefox însă, e puțin mai nuanțat, și zice ca anumite părți din imagine nu sunt sigure. Cum ar fi imaginile???
Unele mixuri nu sunt bune
Iată un scenariu foarte probabil: avem certificatul instalat și valabil (nu e expirat), pagina noastră începe cu https și totuși NU este văzută cu ochi buni de către browsere. Dacă site-ul nostru se bazează pe WordPress, peste care mai avem adăugate vreo 20 de plugin-uri, este posibil să dăm de probleme atunci când unele plugin-uri încearcă să descarce cod de la adrese externe, cum ar fi un script java.
Soluția? Vedem care sunt pluginurile cu probleme, le updatam și daca nu problema nu dispare, le dezactivam. Putem găsi oricând un plugin alternativ.
Unele imagini nu sunt sigure? Sau cum am descoperit eu apa calda…
Mai adesea decât pluginurile buclucașe, problema poate veni de unde te aștepți mai puțin, tocmai de la niște nevinovate de la linkuri către anumite imagini pe care le încarcă tema de WordPress. Fie că unele teme WordPress au „hardcoded” niște link-uri către anumite imagini, fie că am făcut noi cu mâna noastră acest lucru, trebuie să ne învățăm să nu mai punem adrese directe către imagini. În imaginea de mai jos, cu mâna mea, am încărcat mai multe imagini în sidebar.php folosind adresa directă către ele, sub forma de http://pinzaru.ro/wp-content/imagine.jpg. Acest lucru a fost imediat taxat de către browser care tratează pagina drept nesecurizată deoarece conținutul se încarcă via https: dar imaginile sunt descărcate de la adresa cu http.
Cum rezolvăm problema?
Folosim o adresă relativă.
src=”<?php bloginfo(‘template_url’); ?>/images/Ryzen_3900X.jpg”
Adresa de mai sus este înțeleasă de WordPress in următorul fel: afișează fișierul Ryzen_3900X.jpg din folderul „images” de la adresa unde este stocata tema curenta. E fix același lucru cu http://pinzaru.ro/wp-content/tema/images/Ryzen_3900x.jpg – dar face minune când vorbim de pagini sigure și mai ales dacă dorim să portăm site-ul la altă adresa.
Comentarii
Avem 2 comentarii la articolul “Mixed content over https – De ce pagina mea nu e sigura?”
Nelamuriri? Intrebari?
Intreaba sau cauta raspunsul la sectiunea de intrebari si raspunsuri.
Am urmat sfaturile din articol dar nu s-a schimbat nimic. Pe paginile cu text primesc secure, pe paginile cu imagini tot mixed content si ca pagina nu e sigura bla bla… Ce pot sa mai fac?
Banuiesc ca folosesti WordPress. Verifica la settings sa ai site-ul trecut cu https. Daca l-ai avut inainte cu http, WordPress ca incarca imaginile tot de la adresa cu http.