Tilbage til bloggen
Grundlæggende Udgivet 28.09.2026 6 min. læsning

Kontaktformularer i WordPress: en sikkerhedstjekliste

Contact Form 7, WPForms, Gravity Forms, Ninja Forms eller Fluent Forms – pluginet betyder mindre end, hvordan det er sat op og vedligeholdt. Her er, hvad du skal tjekke, og hvad du skal tjekke igen efter hver opdatering.

De fleste WordPress-sites bruger et af en håndfuld formularplugins: Contact Form 7, WPForms, Gravity Forms, Ninja Forms, Fluent Forms og nogle få andre. Hvert af dem kan køres sikkert eller efterlades på vid gab. Forskellen ligger sjældent i selve pluginet, men i dets indstillinger, tilføjelserne omkring det, hvordan mail forlader serveren, og hvad der sker med beskederne, når de er kommet frem.

  • Hold formularpluginet og alle tilføjelser opdateret, og slet dem, du ikke længere bruger.
  • Aktivér pluginets egen antispam – honeypot, CAPTCHA-integration, Akismet hvor det passer – og bekræft, at den faktisk virker.
  • Send notifikationer via autentificeret SMTP fra en adresse på dit eget domæne.
  • Begræns uploads efter type og størrelse, og sørg for, at uploadede filer ikke kan listes eller gennemses offentligt.
  • Hold modtagerens e-mailadresse ude af siden og dens kildekode.
  • Gem kun de indsendelser, du har brug for, og kun så længe, du har brug for dem.
  • Kør et kort tjek efter hver opdatering af WordPress, temaet eller et plugin.

Opdateringer: formularpluginet og alt omkring det

Formularplugins er populære mål, fordi de accepterer input fra hvem som helst på internettet. Sikkerhedsrettelser kommer som almindelige opdateringer, så opdater hurtigt – og ikke kun hovedpluginet. Tilføjelser til betalinger, uploads, CRM-forbindelser, betinget logik eller ekstra CAPTCHA-udbydere er separat kode med deres egne sårbarheder. Det samme gælder plugins, du engang installerede til en test og glemte. Det er ikke nok at deaktivere: Deaktiverede plugins ligger stadig på serveren, og deres filer kan i nogle tilfælde nås direkte. Bruger du det ikke, så slet det.

Antispam: slå den til, og bevis så, at den virker

De fleste formularplugins har deres egne antispam-muligheder eller integrerer med eksterne tjenester: et honeypot-felt, som bots udfylder og mennesker aldrig ser, CAPTCHA'er som reCAPTCHA, hCaptcha eller Cloudflare Turnstile og Akismet, der kontrollerer beskedens indhold mod en spamdatabase. Mulighederne varierer efter plugin og version, så tjek indstillingerne i stedet for at gå ud fra noget. Eksterne CAPTCHA'er indlæser scripts fra en tredjepart, og Akismet sender det indsendte indhold til en ekstern tjeneste – begge dele hører hjemme i din privatlivspolitik og, afhængigt af din opsætning, i din samtykkehåndtering.

Det mere almindelige problem er beskyttelse, der er slået til, men ikke virker. En CAPTCHA, der kører på offentlige testnøgler, lukker alt igennem. En widget, hvis script blokeres af et cache- eller optimeringsplugin eller af en JavaScript-fejl, stopper intet. Et honeypot-felt uden de styles, der skjuler det, læses op af skærmlæsere og udfyldes af rigtige besøgende. Så efter enhver ændring: Åbn formularen i et privat vindue, tjek browserkonsollen og sidens kildekode, og send en testbesked. Hvis du vil have beskyttelse, der ikke afhænger af Google, tilføjer det gratis formexposed-plugin til WordPress en honeypot, en tidskontrol og proof-of-work og tjekker sitet igen efter plugin-opdateringer – én mulighed blandt flere.

Mail: hvordan den sendes, og hvor den havner

Som standard overlader WordPress mail til serverens PHP-mailfunktion, og hos mange hostingudbydere er disse beskeder dårligt autentificeret og havner i spam – eller forsvinder i stilhed. Send i stedet via et SMTP-plugin eller din hostingudbyders mailtjeneste med en rigtig postkasse med brugernavn og adgangskode og en afsenderadresse på dit eget domæne, f.eks. en dedikeret formular@-adresse. Domænets SPF-, DKIM- og DMARC-poster skal dække denne afsender. Sæt ikke den besøgendes adresse i From-feltet: Det er ikke dit domæne, så beskeden kan ikke bestå DMARC-afstemningen og havner, afhængigt af politikken for den besøgendes domæne, i spam eller afvises. Sæt den som Reply-To, så kan du stadig svare med ét klik.

Modtageradressen hører hjemme i pluginets indstillinger, ikke på siden. Tjek kildekoden på din kontaktside: Et mailto-link ved siden af formularen eller et skjult felt med modtageradressen udleverer adressen til enhver høstende bot. I ældre eller specialbyggede formularer kan det være værre – hvis serveren stoler på et skjult modtagerfelt, kan hvem som helst ændre det og bruge din formular til at sende mail til vilkårlige adresser.

Uploads og gemte indsendelser

Filupload er den mest risikable formularfunktion, så spørg først, om du overhovedet har brug for den. Hvis du har, så tillad kun de typer, du faktisk forventer – f.eks. PDF og almindelige billedformater – i stedet for at blokere nogle få farlige, og sæt en størrelsesgrænse. Tjek, hvor pluginet gemmer uploads: De må ikke kunne listes i en offentlig mappe og helst slet ikke kunne nås på en adresse, der kan gættes. Slet dem, når de er behandlet, eller send dem som vedhæftede filer i stedet for at gemme dem på serveren.

Mange formularplugins eller deres tilføjelser gemmer hver indsendelse i WordPress-databasen, ofte inklusive spam. Det er en nyttig backup, når mailen svigter, men også en voksende bunke personoplysninger. Efter GDPR-princippet om opbevaringsbegrænsning (art. 5, stk. 1, litra e)) bør sådanne data ikke opbevares længere end nødvendigt. Beslut, om du har brug for gemte indsendelser, hvilke felter og hvor længe, og brug så pluginets indstilling til automatisk sletning, hvis der er en, eller slet gamle indsendelser regelmæssigt. Databasebackups indeholder de samme data.

Efter hver opdatering

  1. 1Åbn kontaktsiden i et privat vindue: Formularen og dens antispam-element vises korrekt, og browserkonsollen viser ingen fejl.
  2. 2Se sidens kildekode: Honeypot-feltet og CAPTCHA-scriptet er der stadig, og modtageradressen er det ikke.
  3. 3Send en testbesked: Den lander i indbakken, ikke i spam, og headerne viser, at SPF, DKIM og DMARC bestås.
  4. 4Tjek de indstillinger, der betyder noget: modtager, afsenderadresse, tilladte uploadtyper og -størrelser, hvor længe indsendelser gemmes.
  5. 5Tjek, at linket til privatlivspolitikken og eventuel samtykketekst stadig vises ved formularen.
  6. 6Notér datoen og hvad du tjekkede, så du ved, hvornår formularen senest beviseligt virkede.

Når det først er rutine, tager det kort tid og fanger netop de stille fejl, der ellers går ubemærket hen i ugevis. Til et blik udefra ser en gratis kontrol på formexposed.com på et sites offentlige formularsider uden at indsende noget og viser, om den beskyttelse, du forventer, er på plads og virksomt konfigureret – ingen konto nødvendig.