Лічильник на сторінці з HTTPS
Сайт працює через HTTPS. Відвідувачі бачать замок. Потім на сторінку потрапляє щось із іншого сайту, і замок зникає — або вставлене просто не з'являється.
Це змішаний контент, і варто витратити десять хвилин на розуміння цього, бо він мовчки ламає багато старих вбудованих віджетів.
Що з цим роблять браузери
Сторінці, завантаженій через HTTPS, не дозволено непомітно підвантажувати свої частини через звичайний HTTP. Той, хто підслуховує і може змінити незашифрований запит зображення, може змінити те, що бачать відвідувачі, тож браузер не дозволяє їм змішуватися.
Для зображень і скриптів сучасні браузери або самостійно підвищують запит до HTTPS, або блокують його повністю. Який саме варіант спрацює, залежить від браузера й типу ресурсу, і жоден із цих результатів не той, на який варто покладатися.
Як із цим у Stats4U
Питання вирішено у двох місцях. У скрипт адреса кінцевої точки підрахунку вписана як HTTPS, тож кожен його запит зашифрований незалежно від того, як була віддана сторінка, що його завантажила. А сервер відповідає на звичайний HTTP постійним перенаправленням на HTTPS — це перевірено під час написання цього допису, і для скрипта, і для самого зображення лічильника.
Тож лічильник, вбудований за допомогою актуального коду, не зламає замок, і налаштовувати нічого не потрібно.
Єдиний випадок, який усе ще може підвести
Якщо колись хтось скопіював скрипт лічильника на сам сайт замість того, щоб посилатися на нього — а це була поширена звичка, і досі є сторінки, які так роблять, — тоді там працює заморожена копія з того моменту, коли це сталося. Достатньо стара копія містить усередині звичайну адресу HTTP, і жодні виправлення з нашого боку до неї не дістануться.
Дві хвилини на перевірку: у вихідному коді сторінки треба знайти http://, за яким іде наш домен. Якщо він знайдеться, увесь цей код вставки замінюється актуальним кодом зі сторінки статистики.
Раз вже дійшло до правки, варто посилатися на скрипт, а не розміщувати його копію в себе. Про причини цього є окремий допис, і стосується це набагато більшого, ніж просто лічильників.