Avatar billede netro Nybegynder
01. februar 2008 - 23:17 Der er 24 kommentarer og
2 løsninger

Er den besøgende en robot?

Alle kender vist captcha-testen, hvor man skal indtaste et ord fra et billede for at bevise, man er et menneske.
http://en.wikipedia.org/wiki/Captcha

Men jeg så et sted, hvor de bare havde skrevet 2 + 2 = ...
Her skal brugeren selvfølgelig indtaste 4 i boksen.

Men er visse robotter så smarte, at de kan regne den ud?
Avatar billede bufferzone Praktikant
01. februar 2008 - 23:28 #1
Der findes rygtevis såkaldte blackhat seo programmer, der kan håndterer et relativt stort antal af den slags captcha tests. Hvis du skal sikre et system, bør du altså tilpasse dit system, så det bliver unikt, både mht grafik og især navngivning af billeder, filer og andre værdier så den slags systemer ikke kan genkende hvilken løsning du bruger og hvilket ord/tal captcha systemet præsenterer
Avatar billede gurly Praktikant
02. februar 2008 - 00:55 #2
ja unikke ting burde kunne gøre det

Den er gul, den lugter og har huller =

Det fås på en pind og det drypper =

Måske et par mere usmaglige af slagsens, men hvilken robot kan svare på det  c",)
Avatar billede roenving Novice
02. februar 2008 - 15:30 #3
-- og robotter vil af indlysende årsager (performance på serveren !-) ikke være i stand til at læse genereret indhold, så en opgave genereret tilfældigt med javascript kan også være en løsning !o]
Avatar billede netro Nybegynder
02. februar 2008 - 16:18 #4
Såsom?

document.getElementById("kode") = Math.floor(Math.random()*101);

Indtast koden <span id="kode"></span> her:
Avatar billede netro Nybegynder
02. februar 2008 - 16:18 #5
~ .innerHTML
Avatar billede roenving Novice
02. februar 2008 - 16:24 #6
-- nok hellere:

document.getElementById("kode").firstChild.nodeValue = Math.floor(Math.random()*1000);

Indtast koden <span id="kode">&nbsp;</span> her:

-- men jeg ville jo nok for brugerens indtryk af sikkerhed bruge f.eks.

document.getElementById("kode1").firstChild.nodeValue = Math.floor(Math.random()*1000);
document.getElementById("kode2").firstChild.nodeValue = Math.floor(Math.random()*1000);

Indtast summen af <span id="kode1">&nbsp;</span> + <span id="kode2">&nbsp;</span> her: <input onchange="checkSummen();">
Avatar billede osborne Praktikant
02. februar 2008 - 16:53 #7
Hvorfor vil en robot ikke kunne læse genereret indhold? .. det står jo på siden
Avatar billede roenving Novice
02. februar 2008 - 16:56 #8
Det står ikke på den side, robotten indlæser, hvis det først genereres efter siden er loadet ...
Avatar billede w13 Novice
02. februar 2008 - 16:58 #9
Det står kun på siden, hvis browseren kan læse javascript, og da disse robotter kan betragtes som browsere i sig selv, som skal læse enormt mange hjemmeside (fuldstændig ligesom søgemaskinerobotter), har de ikke kapacitet til at læse javascript.

Der går dog nok ikke 10 år, før de lærer at læse js.. =)
Avatar billede osborne Praktikant
02. februar 2008 - 17:18 #10
Ok ... jeg ved at en af de Web Applications Scannere jeg arbejder med (der scanner hjemmesider for sikkerhedshuller) allerede i dag kan eksekvere JS efterhånden som den crawler en site og derefter søge i resultatet efter links osv. men ja det går ud over performance, så som du siger derfor det ikke er udbredt blandt online robotter endnu.
Avatar billede w13 Novice
02. februar 2008 - 17:20 #11
Nu kender jeg ikke til Web Application Scanners, men scanner den så ikke kun den side, du beder den om?
Avatar billede netro Nybegynder
02. februar 2008 - 18:38 #12
Uanset om den kan eller ej, kræver det vel også en vis logik, hvis den skal kunne regne ud, at resultatet af 6 + 7 skal indsættes i en bestemt tekstboks.
Avatar billede netro Nybegynder
02. februar 2008 - 19:01 #13
På et tidspunkt mindes jeg en løsning, hvor jeg på serveren genererer et random-nummer. Dette nummer sætter jeg dels ind i et hidden field og dels tildeler en session-variabel. Når så der laves et postback, tjekker jeg på, om værdien af mit hidden field og session-variablen er det samme.

Mener det fungerede meget godt, men kan de også håndtere den slags?
Avatar billede w13 Novice
02. februar 2008 - 19:07 #14
Hvis værdien i hiddenfeltet sættes ind med JavaScript, kunne det nok godt snyde en del af dem.
Avatar billede osborne Praktikant
02. februar 2008 - 19:24 #15
w13: Web Applications scannere scanner hele siten (crawler) først med en analyse pass og derefter hvor de skyder på siten med hackerangreb og ser hvad responsen er. Men du har ret det er de færreste der kan afvikle JS (som f.eks. AppScan fra Watchfire kan)
Avatar billede w13 Novice
02. februar 2008 - 19:27 #16
Ok, men det er så kun et enkelt site det scanner, lyder det som om. Hvis det skulle scanne hele Internettet ville performance nok også blive svækket lidt mere. =)
Avatar billede osborne Praktikant
02. februar 2008 - 19:57 #17
w13: ha ha.. jeg læste det som side og ikke site .. ja det er pr. default een site men kan sættes til at scanne vilkårligt mange .. JA så vil den være på hårdt arbejde, men igen sådan en robot her jo ikke andet at lave end stille og roligt tygge sig igennem nettet så de burde vil kunne gøre det samme nogle af dem.
Avatar billede olebole Juniormester
02. februar 2008 - 21:09 #18
<ole>

Det er vist ikke særlig sandsynligt. Det er efterhånden en del år siden, at Google holdt op med at offentliggøre tallet for indekserede sider på deres egen forside. Det sidste tal, jeg i den forbindelse så, var 7.000.000.000 (syv milliarder!) - og mon ikke det tal er fordoblet adskillige gange siden?  ;o)

/mvh
</bole>
Avatar billede w13 Novice
02. februar 2008 - 22:52 #19
Så 10-20 år. Jeg tænker bare på, hvor langt vi er kommet de sidste 15.
Avatar billede olebole Juniormester
03. februar 2008 - 15:33 #20
Ja, vi (læs: 'du og jeg') er måske nået langt de seneste 15 år, men der er stadig skræmmende mange, der koder som i 1995 - og det vil formodentlig tage mange år, før det ændrer sig  :)

Skal robotterne tage hensyn til de milliarder af sider med invalid og sær kode, er de foreløbig rigelig beskæftiget med knokkelarbejde. Mit bud er, det tager mange år, før de lærer at læse JS på en måde, som er effektiv nok til, at de kan lure en god obfuskation ... men det er et spørgsmål om 'tro og religion'  ;o)
Avatar billede w13 Novice
03. februar 2008 - 15:43 #21
Det har du nok ret i, ja. =)
Avatar billede netro Nybegynder
03. februar 2008 - 19:58 #22
Hvis det er så få, der læser javascript, så burde det vel ikke være særlig nødvendigt med captcha o.lign. Der må kunne laves en del underlige former for tildelinger med javascript ved page load, som bliver valideret ved postback.
Avatar billede w13 Novice
01. april 2008 - 12:13 #23
Lukketid?
Avatar billede netro Nybegynder
01. april 2008 - 12:24 #24
Ja
Avatar billede w13 Novice
01. april 2008 - 12:29 #25
Ok. =) Skal nogen have point?
Ellers skal du bare oprette et svar selv og acceptere det.
Avatar billede netro Nybegynder
01. april 2008 - 12:46 #26
Selvfølgelig. Kommer her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester