Gå til indhold
atlas

Webapplikation

Også kendt som: webapp, webapplikation

Et program, man bruger gennem en webbrowser, hvor logik og data ligger på en server i stedet for at være installeret på ens egen maskine.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

Software delt mellem kode, der kører i browseren, og kode, der kører på en eller flere servere, som taler sammen over HTTP; serversiden står typisk for reglerne, de gemte data og kontrollen af, hvem brugeren er.

Forklaret enkelt

Som skranken i en bank bag en glasrude - du udfylder blanketter og får svar ved ruden, mens boksen, regnskabsbøgerne og de ansatte, der gør arbejdet, er skjult bag den.

I praksis

Borgerne søger om parkeringstilladelse i kommunens webapplikation; de installerer intet, og blanketter, regler og sagsbehandling ligger alt sammen på kommunens servere.

Hvorfor det betyder noget

Alle på internettet kan nå den og sende den, hvad de vil, hvilket gør den til en af de mest almindelige veje ind til en organisations data.

Teknisk uddybning

Arkitektonisk er de fleste webapplikationer trelagsløsninger: præsentation i browseren (HTML, CSS, JavaScript), forretningslogik på servere og vedvarende data i en database. Renderingsmodellen varierer: klassiske flersidede applikationer renderer HTML på serveren ved hver navigation; single-page-applikationer henter et JavaScript-bundle én gang og renderer i klienten ud fra JSON-API'er; hybride frameworks renderer på serveren og hydrerer derefter i browseren; statisk generering bygger siderne på forhånd ved udrulning. Foran står reverse proxies, load balancers, CDN'er og ofte en web application firewall. Sessioner bæres i cookies eller bearer tokens, og login uddelegeres i stigende grad til en identitetsudbyder via OpenID Connect eller SAML; danske offentlige løsninger autentificerer typisk borgere med MitID via en broker.

Det afgørende sikkerhedsfaktum er tillidsgrænsen: alt, der kommer fra browseren, herunder skjulte felter, cookies, headere og selve JavaScript-koden, er under brugerens kontrol. Validering i klienten er en brugervenlighedsfunktion; autorisation skal håndhæves på serveren for hver forespørgsel og hvert objekt. Derfor topper A01:2025 Broken Access Control OWASP Top 10:2025, efterfulgt af A02 Security Misconfiguration og den nye A03 Software Supply Chain Failures, som afspejler, at det meste applikationskode i dag er tredjepartsafhængigheder. Injektion, herunder cross-site scripting, er A05:2025. Tilbagevendende konkrete fejl er insecure direct object references, lagret og DOM-baseret XSS, CSRF, SSRF via funktioner, der henter URL'er, usikker filupload og usikker deserialisering.

En del af forsvaret leveres af applikationen til browseren via svarheadere: Content-Security-Policy begrænser, hvorfra scripts må komme, og via frame-ancestors, hvem der må indramme siden (clickjacking); Strict-Transport-Security håndhæver HTTPS; X-Content-Type-Options: nosniff stopper MIME-sniffing; Referrer-Policy begrænser lækage af URL'er; og cookie-attributterne Secure, HttpOnly og SameSite beskytter sessionerne. På serveren fjerner kontekstafhængig outputkodning (helst via templates med automatisk escaping), parametriserede forespørgsler og frameworkets CSRF-tokens hele fejlklasser.

Sikkerhedsverificering struktureres af OWASP's Application Security Verification Standard, hvis version 5.0 udkom i maj 2025 med graduerede verifikationsniveauer, og af Web Security Testing Guide som testmetode, kombineret i udviklingspipelinen med SAST, software composition analysis og DAST og før release med penetrationstest. En webapplikation adskiller sig fra et websted, der primært udgiver indhold, og fra en native app, der installeres og kører uden for browserens sandbox; en single-page-applikation er stadig en webapplikation, selvom meget af logikken er flyttet til klienten, og dens API skal så forsvares som en offentlig grænseflade i sig selv.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Netværk
  2. →IP-adresse
  3. →Protokol
  4. →Klient
  5. →Pakke
  6. →Port
  7. →Server
  8. →TCP/IP
  9. →HTTP
  10. →Webapplikation

Relationer

Forudsætter
HTTPServer

Kilder og videre læsning

Officiel dokumentation

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Test dig selv

Indlæser…

Atlas er i beta.