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