Как да поправим "Mixed Content" (Смесено съдържание) грешките

Какво точно представлява тази грешка ?

Ако имате уебсайт или дори ако сте се вглеждал в няколко, шансовете да сте попаднали на такава грешка са доста големи. Вие зареждате сайта през сигурна SSL (https) връзка и получавате "сив бар" а дори понякога получавате предупреждения вместо очакваната зелена лента. Това се случва именно когато зареждате смесено съдържание (mixed content).

Смесеното съдържание се получава когато сайта зарежда ресурси през https и http едновременно. По този начин връзката е частично криптирана и браузъра смята това за непълно подсигурена страница а съдържанието уязвимо.

Примери:

Примери за това могат да бъдат намерени когато зареждаме скриптове или изображения със статични http адреси в кода на сайта. Повечето модерни браузъри ще Ви уведомят за точните ресурси които се зареждат през http докато сайта Ви се зарежда през https. Някои от тях дори ще блокират "несигурните" ресурси и ще Ви покажат предупредителен знам в адрес бара вместо очакваната зелена лента.


Firefox например ще покаже това:
FF_Mixed_Content.png 
Chrome ще покаже това:
Chrome Mixed content

В двата случая можем да кликнем на удивителния и ще открием тази или подобна грешка:
Mixed content notification 

Разследване:

За да разрешим проблема е нужно най-напред да разберем защо се получава.
Вече знаем, че това се случва когато зареждате сайта си през https а някои ресурси се зареждат статично през http. Как да разберем обаче кой точно ресурс е проблемен ? Повечето браузъри имат вградени тази функция в "Developer tools" секцията.

При Chrome можете да цъкнете трите точки в горния десен край >> More Tools >> Developer Tools >> Console

При Firefox цъкнете трите линии отново в горния десен край >> Web Developer >> Web Console

Докато сте отворили самата конзола, обновете страницата и там ще се покаже списък с всички файлове които се считат за несигурни и се зареждат през http. Би трябвало да изглежда ето така: 

Mixed content example

В този пример смесеното съдържание не е блокирано, но получавате предупреждение, че се зарежда под несигурна форма.

Решение:

Отстраняването на смесено съдържание е доста лесно като трябва да поправите зареждането на ресурсите от http:// на https:// във Вашия сорс код. Следвайте следните стъпки:

  • Определете дали ресурса който искате да се зареди през https изобщо поддържа SSL връзка. Копирайте адреса и го заредете самостоятелено в адрес бара на Вашия браузър.
  • Ако зарежда то тогава решението е просто да промените вашия код така, че да зарежда през https:// вместо през http://
  • Ако се опитвате да зареждите скрипта/картинката през https директно н не успява да зареди то това означава, че линка който използвате идва от място което се хоства и не поддържа валидна SSL връзка. Тъй като Вие нямате контрол над този ресурс то тогава можете да направите следните неща:
  • Премахнете ресурса изцяло
  • Копирайте го локално и го зареждайте именно от Вашия локален хост.
  • Опитайте да го намерите и заредите от място което поддържа https (има валидна SSL връзка)

Ако имате Wordpress сайт то тогава можете дори да се възползвате от специални плъгини които би трябвало автоматично да разрешат проблема за Вас:
SSL Insecure Content Fixer
Really Simple SSL

Всеки хостинг акаунт при novahost.bg разполага с вградена, напълно доверена SSL връзка. В случай, че Ви е нужна друг вид валидация (Валидация по организация, Разширена валидация - EV) то тогава можете да разгледате нашите SSL сертификати.

беше ли полезен този отговор?

 Принтирай тази статия

Прочетете също

Какво е SSD и какви са ползите от SSD технологията ?

Какво е SSD ?SSD (Solid State Drive) е устройство за съхраняване на данни и твърд диск от ново...

Какво е "Sitemap", за какво служи и как се генерира ?

Какво е "Sitemap" ?Картата на сайта (или sitemap) представлява списък, който съдържа информация...

Генерира и сваляне на цялостен бекъп

Към всяка хостинг услуга ние генерирахме ежедневен бекъп на локалния сървър на който е вашата...

Какво е HTTP/2, какви са предимствата и как се използва ?

HTTP/2 е прозрачен процес. Ако използвате хостинг услуга предоставена от NovaHost.BG то тогава...

Какво представлява LiteSpeed хостинг ?

LiteSpeed е нова технология която позволява на уеб сървъра да изпълнява заявките в пъти по -...