Какво точно представлява грешката Mixed content (смесено съдържание) и как пречи на Вашия уебсайт да функционира правилно?
Ако имате уебсайт или дори ако сте се вглеждал в няколко, шансовете да сте попаднали на Mixed content грешка са доста големи. Вие зареждате сайта през сигурна SSL (https) връзка и получавате "сив бар", а дори понякога получавате предупреждения вместо очакваната зелена лента. Това се случва, именно когато зареждате смесено съдържание (mixed content).
Смесеното съдържание се получава, когато сайтът зарежда ресурси през https и http едновременно. По този начин връзката е частично криптирана и браузърът смята това за непълно подсигурена страница, а съдържанието - за уязвимо.
Примери:
Примери за това могат да бъдат намерени, когато се зареждат скриптове или изображения със статични http адреси в кода на сайта. Повечето модерни браузъри ще Ви уведомят за точните ресурси, които се зареждат през http, докато сайтът Ви се зарежда през https. Някои от тях дори ще блокират "несигурните" ресурси и ще Ви покажат предупредителен знак в адрес бара вместо очакваната зелена лента.
Firefox например ще покаже това:
Chrome ще покаже това:
В двата случая може да кликнете на удивителния знак и ще откриете тази или подобна грешка:
Разследване:
За да разрешите проблема, е нужно най-напред да разберете защо се получава.
Вече знаете, че това се случва, когато зареждате сайта си през https, а някои ресурси се зареждат статично през http. Как да разберете обаче кой точно ресурс е проблемен ? Повечето браузъри имат вградена тази функция в "Developer tools" секцията.
При Chrome може да кликнете върху трите точки в горния десен край >> More Tools >> Developer Tools >> Console
При Firefox кликвате върху трите линии отново в горния десен край >> Web Developer >> Web Console
Докато сте отворили самата конзола, обновете страницата и там ще се покаже списък с всички файлове, които се считат за несигурни и се зареждат през http. Би трябвало да изглежда ето така:
В този пример смесеното съдържание не е блокирано, но получавате предупреждение, че се зарежда под несигурна форма.
Решение:
Отстраняването на смесено съдържание е доста лесно, като трябва да поправите зареждането на ресурсите от http:// на https:// във Вашия сорс код. Преминете през следните стъпки:
- Определете дали ресурсът, който искате да се зареди през https, изобщо поддържа SSL връзка. Копирайте адреса и го заредете самостоятелено в адрес бара на Вашия браузър.
- Ако зарежда, то тогава решението е просто да промените вашия код така, че да зарежда през https:// вместо през http://
- Ако се опитвате да заредите скрипта/картинката през https директно и не успява да се зареди, то това означава, че линкът, който използвате, идва от място, което се хоства и не поддържа валидна SSL връзка. Тъй като Вие нямате контрол над този ресурс, може да направите следните неща:
- Премахнете ресурса изцяло
- Копирайте го локално и го зареждайте от Вашия локален хост.
- Опитайте да го намерите и заредите от място, което поддържа https (има валидна SSL връзка)
Ако имате Wordpress сайт, то тогава може дори да се възползвате от специални плъгини, които би трябвало автоматично да разрешат проблема за Вас:
SSL Insecure Content Fixer
Really Simple SSL
Всеки хостинг акаунт към Jump.BG разполага с вградена, напълно доверена SSL връзка. В случай, че Ви е нужна друг вид валидация (Валидация по организация, Разширена валидация - EV), може да разгледате нашите SSL сертификати.