Programmering af brugerstyring på web

Programmering af web-applikationer til e-handel kræver styring af brugerne, som web-protokollen ikke er konstrueret til. Artiklen viser dig teknikker til at holde snor i dine gæster på web-serveren.

Tilstandsløs web

Når du skal programmere web-applikationer til elektronisk handel og betaling, kræver det en styring af kommunikationen med brugerne. Web-applikationen skal holde styr på, hvilke brugere der udfører hvilke handlinger fra de har logget på systemet, til deres session er afsluttet. Det er nødvendigt at sikre, at den bruger der indledningsvis identificerede sig med navn og kode, er eksakt den samme person, der senere klikker OK til en handel til mange tusinde kroner.

Andre interaktive web-applikationer forudsætter også, at web-systemet har en snor i brugerne. Serveren skal vide, hvem der sender hvad i hvilken situation, for at kunne give eksakt respons på det. Men den succesfulde web-teknologi er ikke konstrueret til denne situation, hvilket betyder at programmørerne må finde teknikker til at løse opgaven.

Før vi viser tekniske løsninger, skal vi lige gøre problemet helt klart:

Udfordringen: Tilstandsløs web-kommunikation

Internettets web-protokoller er konstrueret til distribution af informationer. Med browseren sender brugerne forespørgsler til serverne, som returnerer web-sider. Brugerne sender en URL (Uniform Resource Locator), hvor du i din aktuelle browser kan læse URL'en på denne side: http://www.pcworld.dk/Default.asp?Mode=2&ArtikelID=2050

Web-protokollen HTTP fungerer som klient-server system, hvor klient og server arbejder uafhængige af hinanden. De to programmer kommunikerer, men der er ingen binding mellem dem. Web-systemet er tilstandsløst. Det betyder, at hverken browser eller server husker kommunikationens forløb. Når web-siden her er sendt til dig som læser, da har såvel server som browser i princippet glemt, hvad der skete. Der er ikke indbygget teknologi til at huske forløbet, for så vidt lider HTTP på sigt af total hukommelsestab.

Det globale succesfulde web-system skal nu bruges til elektronisk handel. Men handel kræver kontrolleret brugeradfærd, hvorfor vi skal gøre noget ved systemets tabte hukommelse. Ellers vil samtlige kunder kunne løbe fra regningen.

Brugerstyring

Brugerstyring

Der findes en række teknikker, som programmørerne kan bruge, når der skal holdes snor i brugerne og deres browsere. Alle disse teknikker kan for eksempel programmeres på Internet Information Server (IIS) med Visual Basic.

1. Brugeren indtaster oplysninger, som sendes til serveren

Som første led i en løsning starter vi med at få brugeren til at identificere sig med navn og evt. kode. Denne oplysning kontrollerer og gemmer serveren.

2. Cookies

Cookies er en tilføjelse til web-protokollen HTTP, hvor browseren gemmer en tekststreng med oplysninger om besøget på et web-sted. Den store fordel ved cookies er, at de kan overføres sikkert uden uvedkommendes indblanding. Det vil sige, de overføres over en krypteret forbindelse mellem browser og web-server. Som systemudvikler kan du udsende cookies, og på senere tidspunkt få browseren til at returnere oplysningerne. Disse omfatter web-adresse, dato samt en oplysning (kode). Dermed kan serveren identificere brugeren og hvor vedkommende var sidst.
Ulempen ved cookies er, at der er brugere, som afviser dem, fordi det krænker privatlivets fred. Der er også brugere, som jævnligt sletter deres cookies.

3. Du bruger sessions ID-numre og sessions objekter

Når en bruger sender forespørgsel til serveren, opretter den et session ID-nummer med et tilhørende sessions objekt. Dette ID-nummer kan bruges til at holde snor i brugeren, således at du kan følge vedkommende gennem forløbet. Det vil sige, at det sikres, at den bruger der kobler sig på med identifikation er den samme bruger, som afslutter en handel. Hvorefter de to oplysninger er koblet sammen.

En server som IIS giver alle sessioner unikke numre. Men sessions objektet gemmes kun i den tid, som brugeren er koblet på og 20 minutter efter sidste henvendelse. Det betyder, at teknikken ikke umiddelbart kan bruges i det lange løb henover mange sessioner.

Ulempen ved denne metode er, at sessions ID-nummeret sendes til browseren som en cookie. Teknikken kan anvendes til sessionsstyring, men den møder samme modstand som cookies.

4. Sessionsobjekterne gemmes i en database

Du kan gemme sessions objekterne permanent i en database. Det giver mulighed for at følge brugerne mellem deres sessioner. Den kortvarige fastholdelse af sessioner bliver her opbevaret på langt sigt. Arbejder du på et stort system med mange besøgende, bliver databasen stor og kræver tilsvarende stor maskinkraft.

5. Du bruger URL'en med supplerende oplysninger

Fordelen ved denne teknik er, at den er simpel. Du kan let opbygge en styring af et interaktivt forløb med brugerne. En version af teknikken ser du på disse sider, hvor der tilføjes data i URL'en, som angiver hvilken del af artiklen, du vil læse.
Ulempen ved teknikken er, at alle kan læse og kopiere URL'erne. Fortrolige oplysninger kan kodes, så de ikke bliver umiddelbart læselige. Du kan anvende hemmelige URL'er med koder. Men stadig vil det være let for uvedkommende at lave en simpel kopiering af URL'erne og benytte dem helt efter egen interesse. Serveren vil ikke have mulighed for at se, om afsenderen har taget URL'en illegalt, når den ankommer som en forespørgsel.

6. Skjulte felter til udveksling af informationer mellem server og browser

Dette er alternativ teknik til cookies. Men den teknik har ulempen, at oplysningerne ligger læsbart på brugerens maskine. Det er derfor ikke egnet til juridisk og økonomisk forpligtende oplysninger.

Tillid er bedst

Spørgsmålet om, hvor meget information serverne gemmer om brugerne og deres adfærd på web-stedet er et kontroversielt emne på Internet. Der findes en stor gruppe erklærede cookies-hadere på Internet. Derfor er den sikreste politik overfor brugerne, at du klart meddeler, hvilken information der gemmes om dem, og hvad det bruges til.

På den anden side har du ret til at stille krav til brugerne. Du kan designe systemet, så de ikke får adgang til vitale web-sider, hvis de ikke ønsker at identificere sig. Det vil naturligvis skræmme nogen væk.

Når vi er nået hertil, er det ikke længere et spørgsmål om teknik, men diskussion af etik, moralske normer og social adfærd på Internet.

Computerworld Events

Vi samler hvert år mere end 6.000 deltagere på mere end 70 events for it-professionelle.

Ekspertindsigt – Lyt til førende specialister og virksomheder, der deler viden om den nyeste teknologi og de bedste løsninger.
Netværk – Mød beslutningstagere, kolleger og samarbejdspartnere på tværs af brancher.
Praktisk viden – Få konkrete cases, værktøjer og inspiration, som du kan tage direkte med hjem i organisationen.
Aktuelle tendenser – Bliv opdateret på de vigtigste dagsordener inden for cloud, sikkerhed, data, AI og digital forretning.

Sikkerhed | Højbjerg, Aarhus

Cyber Security Summit 2026 - Aarhus

Lær om organisationers evne til at modstå, håndtere og komme videre efter alvorlige digitale hændelser, herunder ledelsesansvar, forretningskritiske afhængigheder og de valg, der afgør, om plan B holder, når systemer eller leverandører svigter.

Digital transformation | Aarhus

AI i det offentlige - Aarhus

Hør hvordan offentlige AI-løsninger skaleres til stabil drift med reel effekt. Få erfaringer, arkitekturvalg og styringsgreb fra frontløbere. Lær at bygge fælles AI-infrastruktur med ansvarlighed, sikkerhed og compliance.

Digital transformation | Køge

Derfor skal du videre fra Dynamics AX – og sådan gør du

Computerworld giver klar viden om vejen videre fra Dynamics AX. Du ser forskellen mellem AX og moderne cloud-ERP og får et konkret beslutningsgrundlag for næste skridt. Tilmeld dig og få styr på skiftet til Dynamics 365 FO eller BC.

Se alle vores events inden for it

Navnenyt fra it-Danmark

Netip A/S har pr. 1. april 2026 ansat Claus Berg som Account Manager ved netIP's kontor i Esbjerg. Han kommer fra en stilling som Client Manager hos itm8. Nyt job

Claus Berg

Netip A/S

Pinksky ApS har pr. 1. maj 2026 ansat Dan Toft, 29 år,  som Rådgivende konsulent, Partner. Han skal især beskæftige sig med digitalisering med Microsoftplatformen. Han kommer fra en stilling som Microsoft 365 & SharePoint Specialist hos Evobis ApS. Han er uddannet datamatiker. Han har tidligere beskæftiget sig med Microsoft 365 og SharePoint udvikling. Nyt job

Dan Toft

Pinksky ApS

Netip A/S har pr. 1. maj 2026 ansat Ida Hyllested Friis som Key Account Manager ved netIP's kontor i Thisted. Hun kommer fra en stilling som Key Account Manager hos Københavns erhvervshus. Nyt job
Renewtech ApS har pr. 1. april 2026 ansat Boris Sudar som Senior IT Specialist. Han skal især beskæftige sig med at sikre, at Renewtech cloudbaseret infrastruktur fortsætter på sit højeste niveau, mens han også skal drive system udvikling. Han kommer fra en stilling som Senior IT Specialist hos Eurowind Energy. Han har tidligere beskæftiget sig med Microsoft 365, Intune og sikker endepunktsstyring for hybrid og cloudbaseret infrastrukturer. Nyt job

Boris Sudar

Renewtech ApS