Tilbage til Forsiden
Sikkerhed· 10. september 2026 ·5 min læsetid

Udfordringer i forbindelse med bevis for arbejde: Stop robotter uden at irritere mennesker

Ingen bryder sig om at klikke på trafiklys for at bevise, at de er mennesker. Udfordringer i forbindelse med dokumentation af arbejdet tager en anden tilgang: Gør arbejdet usynligt for dig og dyrt for alle, der sender en million anmodninger.

Mads Edelskjold
Mads Edelskjold
Grundlægger, XprotectTerm0X ex-datacenter CTO
Udfordringer i forbindelse med bevis for arbejde: Stop robotter uden at irritere mennesker

CAPTCHA er et mærkeligt stykke teknologi, når du tænker over det. For at bevise, at du ikke er en robot, udfører du en opgave, som robotter nu målbart er bedre til, end du er, mens en virksomhed høster arbejdskraften til at træne billedgenkendelsesmodeller. I mellemtiden betaler de faktiske bot-operatører en løsningsservice en brøkdel af en cent pr. Puslespil og fortsætter.

Proof-of-work udfordringer kommer på problemet fra en helt anden retning, og skiftet er værd at forstå, fordi det ændrer, hvad du rent faktisk forsvarer.

Stop med at identificere, begynd at oplade

En CAPTCHA forsøger at svare "er det her et menneske?" - et spørgsmål, der bliver sværere hvert år og aldrig rigtig var ansvarligt i første omgang.

Bevis for arbejde spørger ikke. Det antager, at det ikke kan fortælle, og i stedet gør hver anmodning til en lille mængde beregning. Din browser er afleveret et puslespil, der tager lidt CPU til at løse og næsten intet at kontrollere: finde en værdi, der, når hashed sammen med udfordringen, producerer en hash startende med et bestemt antal nuller. Der er ingen genvej. Du prøver værdier, indtil de virker.

For én besøgende, der er et par hundrede millisekunder af en baggrundstråd, helt ubemærket. For nogen, der sender en million anmodninger, er det en million gåder, og den aritmetiske beregning, der gjorde operationen værd, stopper med at fungere.

1 human visitorone tiny puzzle — unnoticed 1,000,000 bot requestsa million puzzles — too expensive
Det samme puslespil, som koster meget forskelligt afhængigt af, hvor mange anmodninger du foretager.

Det er et økonomisk forsvar snarere end en afsløring, og det er dets virkelige styrke. Det behøver ikke at være smart om fingeraftryk, ikke nedbrydes som bots forbedre, og kan ikke outsources til en menneskelig løsning gård fordi omkostningerne er CPU tid, og en menneskelig klikke knapper hjælper ikke.

Hvordan det rent faktisk kører

Sekvensen er kort. En besøgende anmoder om en beskyttet side. Kanten returnerer i stedet en let udfordringsside med et puslespil og en sværhedsparameter. JavaScript i browseren løser det, normalt i en webarbejder, så siden forbliver lydhør. Løsningen indsendes, verificeres på mikrosekunder, og den besøgende modtager en signeret cookie, der tillader dem i en konfigureret periode - normalt en dag - så de ikke udfordres igen ved hvert klik.

Sværhedsgraden er en skive snarere end en kontakt. En lav indstilling er umærkelig; en høj tager et par sekunder og gør automatiseringen dramatisk dyrere. Hæv den til en loginside under aktivt angreb, hold den nede for generel browsing, og de fleste besøgende lærer aldrig, at funktionen eksisterer.

Usynlig tilstand

  • Løser lydløst i baggrunden
  • Besøgende ser højst et kort tomt øjeblik
  • Højre standard for generel beskyttelse

Interaktiv tilstand

  • Viser en kort statusindikator
  • Bedre til høje vanskeligheder, hvor forsinkelsen er mærkbar
  • Stadig intet for mennesket at løse

Mod en CAPTCHA

CAPTCHABevis for arbejde
En indsats for mennesketLøs gåderIngen
TilgængelighedOfte en barriereIngen interaktion nødvendig
Besejret ved at løse problemer med landbrugetJa, billigtNej – prisen er CPU, ikke klik
Tredjeparts datadelingNormaltIngen påkrævet
Omkostninger for en legitim besøgendeSekunders opmærksomhedMillisekunder af CPU
Stopper en målrettet angriber med lav volumenNogetIkke rigtig

Hvad bevis for arbejde ikke gør

Den sidste række fortjener at blive udvidet, fordi et forsvar, du misforstår, er værre end et forsvar, du ikke har.

Proof-of-work øger omkostningerne pr. anmodning. Hvis en angriber kun har brug for en håndfuld anmodninger - test af en bestemt stjålet legitimation, udnyttelse af en kendt sårbarhed, skrabning af en side - er omkostningerne ubetydelige, og de betaler det uden at bemærke det. Det er et volumenforsvar, og mod en målrettet angriber gør det meget lidt.

Det medfører også reelle omkostninger for besøgende med langsomme enheder. En ti år gammel Android-telefon tager betydeligt længere tid end en nuværende bærbar computer, så vanskeligheder med indstillinger, der føles øjeblikkelige på din maskine, er måske ikke. Og det kræver JavaScript, hvilket betyder alt, hvad du vil nå dit websted uden at udføre scripts - nogle tilgængelighedsværktøjer, nogle legitime integrationer, RSS-læsere - har brug for en undtagelsessti.

Undtag altid bekræftede søgerobotter, før du aktiverer udfordringer. Googlebot løser ikke JavaScript-puslespil som en browser gør, og udfordrende det er en effektiv måde at fjerne dig selv fra søgeresultaterne. Verificer ved hjælp af omvendt DNS i stedet for at stole på brugeragenten, og lad den derefter komme igennem uden at blive udfordret.

Almindelige spørgsmål

Hvad er en proof-of-work udfordring?

En proof-of-work-udfordring kræver, at en besøgendes browser løser et lille beregningspuslespil – typisk at finde en værdi, der producerer en hash med et påkrævet antal førende nuller – før den ønskede side serveres. Løsning tager målbar CPU-tid, mens verificering er næsten øjeblikkelig, så omkostningerne falder på den, der laver et stort antal anmodninger i stedet for på individuelle besøgende.

Er proof-of-work bedre end CAPTCHA?

For at blokere højvolumenautomatisering, generelt ja: det kræver ingen interaktion fra den besøgende, præsenterer ingen tilgængelighedsbarriere, deler ingen data med en tredjepart og kan ikke besejres af menneskelige løsninger, fordi Prisen er CPU i stedet for klik. Det er svagere mod en målrettet angriber, der kun foretager en håndfuld anmodninger, hvor de ekstra omkostninger er ubetydelige.

Gør proof-of-work udfordringer langsommere rigtige besøgende?

Lidt, og som regel umærkeligt. Ved en typisk vanskelighed med at indstille en moderne browser løser puslespillet på få hundrede millisekunder i en baggrundstråd, og en signeret cookie optager derefter den besøgende i en konfigureret periode, så de ikke udfordres igen på hver side. ldre eller mindre enheder tager længere tid, hvilket er værd at tage højde for, når du vælger problemer.

Vil en proof-of-work-udfordring blokere Googlebot?

Det vil, hvis du ikke fritager det, og det ville fjerne sider fra søgeresultaterne. Verificerede søgerobotter bør være tilladt, før udfordringer er aktiveret, identificeret ved omvendt DNS-verifikation af deres IP-adresser snarere end ved deres brugeragentstreng, som er trivielt forfalsket.

Rammen er værd at holde: en CAPTCHA forsøger at fortælle mennesker og maskiner fra hinanden, og bliver mindre i stand til hvert år. Bevis for arbejde holder op med at forsøge, og opkræver betaling for anmodningen i stedet. Det er en mindre påstand, men den bliver ved med at være sand.

#bots #bevis for arbejde #sikkerhed #captcha
Sæt det i praksis

Se, hvordan NordicCDN gør dette for dit websted:

Mads Edelskjold
Skrevet af
Mads Edelskjold Grundlægger, NordicCDN ex-datacenter CTO

Mads har arbejdet med IT – mest som vært – siden han var 16. Han tog tidligt ejerskab i en SaaS-virksomhed og var med til at udvide den til Visma, har opbygget og drevet datacenternetværk og fungeret som CTO for et dansk datacenter. Han startede NordicCDN for at gøre hurtig og sikker infrastruktur enkel at bruge.

Få dit websted til at indlæses øjeblikkeligt

Start gratis på to minutter – intet kort påkrævet.

Start gratis