HTTPS/SSL og websidesikkerhed
Hvad er HTTPS/SSL?
HTTPS (HTTP Secure) er en protokol, der krypterer dataudvekslingen mellem et websted og den besøgendes browser. Denne kryptering sikres via et SSL/TLS-certifikat, som webstedet besidder; certifikatet fungerer som et digitalt dokument, der bekræfter webstedets identitet over for browseren. Låsesymbolet i adresselinjen i browseren viser, at forbindelsen er krypteret, og at certifikatet er gyldigt.
Data, der sendes via HTTP, overføres som klartekst (plaintext); det betyder, at en tredjepart på det samme netværk (f.eks. et offentligt Wi-Fi-netværk) kan læse dataene. HTTPS krypterer disse data, så de kun kan læses af afsenderen og modtageren.
SSL-certifikater er normalt gyldige i en bestemt periode (f.eks. et år) og skal fornyes, når de udløber; i dag har mange hostingudbydere automatiseret denne proces, så certifikatet fornyes automatisk, hvilket mindsker behovet for manuel opfølgning.
Hvorfor er det vigtigt?
HTTPS sikrer, at brugerdata (formularindtastninger, loginoplysninger, betalingsoplysninger) beskyttes mod man-in-the-middle-angreb. Google betragter brugen af HTTPS som et let rangordningssignal, og browsere viser en »Ikke sikker«-advarsel for HTTP-websteder; dette påvirker brugertilliden direkte.
Et usikkert websted mindsker besøgernes lyst til at blive på siden; især brugere, der udfylder formularer eller foretager betalinger, kan forlade siden uden at fuldføre transaktionen, når de ser advarslen »Ikke sikker«. Dette er et tillidsproblem, der direkte påvirker konverteringsraten.
Desuden fungerer de fleste moderne browserfunktioner (f.eks. lokaliseringstjenester, notifikationer, visse betalings-API'er) kun via HTTPS; et websted, der fortsat bruger HTTP, kan slet ikke udnytte disse funktioner og bliver teknisk set stadig mere begrænset.
Hvordan løses det?
- Installer et gyldigt SSL-certifikat på dit websted, og sørg for automatisk fornyelse, så det ikke udløber.
- Omdiriger alle HTTP-anmodninger til HTTPS-versionen med en 301-omdirigering.
- Fjern advarsler om blandet indhold (mixed content): Sørg for, at alle billeder, scripts og CSS-filer på siden indlæses via HTTPS; ellers kan browseren markere siden som »delvist sikker«.
- Tilføj om muligt en HSTS-header (HTTP Strict Transport Security) for at tvinge browseren til altid at oprette forbindelse til webstedet via HTTPS.
- Reducer omdirigeringskæder (f.eks. HTTP → HTTPS → www → non-www, hvor der er flere omdirigeringer i træk) til et enkelt trin; hver ekstra omdirigering tilføjer en lille forsinkelse til sidens indlæsningstid.
- Kontroller, at ressourcer fra tredjepartstjenester (f.eks. billed-CDN, formularudbyder, chat-widget) også leveres via HTTPS; disse er ofte den oversete kilde til problemet med blandet indhold.
Eksempel
# .htaccess-eksempel
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Dårligt eksempel: At glemme at opdatere gamle <img src="http://example.com/logo.png"> absolutte HTTP-links på siden; dette medfører en advarsel om blandet indhold i browseren, selvom siden generelt ser sikker ud.
Almindelige fejl
- At lade HTTP-versionen være åben i stedet for at lukke den; dermed forbliver webstedet tilgængeligt via både HTTP og HTTPS, og indholdet duplikeres på to forskellige adresser.
- At lade billeder eller scripts, der stadig indlæses via HTTP, forblive på siden under HTTPS (blandet indhold).
- At lade SSL-certifikatet udløbe; i dette tilfælde kan browseren vise, at webstedet er fuldstændig utilgængeligt.
- At oprette unødvendige omdirigeringskæder bestående af flere trin.
- Kun at anskaffe et certifikat til hoveddomænet og udelade underdomæner (f.eks. blog.example.com).
- At fortsætte med at bruge de gamle HTTP-adresser i interne links (menu, footer, interne links); dette udløser en unødvendig 301-omdirigering ved hvert klik og forsinker sideindlæsningen en smule.
- Stadig at henvise til de gamle HTTP-adresser i sitemap og kanoniske tags; dette sender forvirrende signaler til søgemaskinen.
- Ved en fejl at overføre det selvunderskrevne certifikat, der bruges i det lokale udviklingsmiljø (localhost), til produktionsmiljøets konfiguration; browsere betragter ikke denne type certifikater som pålidelige.
- Seoraporu.co-rapporten fremhæver manglende HTTPS eller advarsler om blandet indhold som en prioritet i afsnittet om tekniske fund, da dette påvirker både tillid og ydeevne på samme tid.