Prihlasovací formulár cez nešifrované HTTP
Čo to je
Niekde na vašom webe je formulár s poľom type="password" a jeho akcia (action=) smeruje na nešifrovanú http:// URL. Zadané heslo putuje cez sieť otvorene.
Toto sa objavuje typicky na:
- Starších prihlasovacích obrazovkách (často administrácia hostingu, intranet, archívne inštalácie).
- Web má HTTPS, ale vnútri je
<form action="http://...">s hardcoded HTTP URL. - Subdoména (
old.example.sk,admin.example.sk) nemá certifikát.
Prečo je to problém
Keď používateľ zadá heslo a stlačí Enter, prehliadač ho pošle v plain texte. Ktokoľvek medzi (nedôveryhodná Wi-Fi, ISP, sused na hostingu, kompromitovaný router) heslo prečíta. Ak je formulár na inom hostname než stránka samotná, prehliadač bude varovať — ale používateľ typicky klikne „Pokračovať“.
Chrome od verzie 86 ukazuje „Tento formulár nie je zabezpečený“ priamo pod inputom. Konverzia padá, ľudia sa neregistrujú.
Ako to opraviť
Krok 1 — opraviť action=
Nájdite v HTML všetky <form> tagy a zmeňte action="http://..." na action="https://..." alebo lepšie na relatívnu cestu (action="/login") — tá zdedí protokol stránky.
Krok 2 — vynútiť HTTPS na celom webe
Aj keď opravíte konkrétny formulár, návštevník sa k nemu môže dostať cez http://. Server musí presmerovať — pozri Web beží len na HTTP.
Krok 3 — HSTS
Po nasadení HSTS prehliadač prestane vôbec nadväzovať HTTP spojenie — aj keby používateľ napísal http://example.sk. Detail pozri Strict-Transport-Security.
Krok 4 — subdomény
Ak je admin alebo legacy na subdoméne, dajte certifikát aj na ňu. Wildcard certifikát od Let’s Encrypt (*.example.sk) rieši všetko.
Overenie
# v prehliadači otvoriť DevTools → Network → odoslať formulár
# request URL musí začínať https://