17. februar 2011 - 10:40Der er
11 kommentarer og 1 løsning
findes der en simpel måde at afgøre at det er en rigtig besøgende og ikke en robot
Jeg vil gerne lave en funktion der kan dette:
function user_is_for_sure_not_a_robot(){ // if (det er med sikkerhed IKKE en robot - og med sikkerhed en rigtig klient){ return true } else return false }
Jeg har googlet lidt, men kan ikke lige finde en simpel udgave.
Det korte svar er nej. Hvis der var en enkelt løsning på det problem ville vi f.eks. aldrig skulle belemres med CAPCHA'er.
Serveren får bare en bunke headers tilsendt. Den kan vælge at stole på dem eller lade være, men den kan aldrig vide om de er korrekte eller ej.
Javascript er en typisk mulighed, da bots (så vidt jeg ved) aldrig eksekverer det. Det vil dog muligvis ændre sig i fremtiden. Og om det er en løsning afhænger af hvilket problem du har.
hmmm okay, jeg tænkte at noget med om musen bevæger sig måske kan være en sikker indikator. Men så skal siden jo loades færdig først og afvente at brugeren bevæger musen. Måske lidt dumt...
Kan man så ikke lave en løsning som med sikkerhed bare finder måske 50-80% af de "rigtige brugere" ved en simpel evaluering.
Alt hvad du laver i javascript vil typisk ikke blive kørt af en bot. F.eks. om musen bevæger sig (måske ikke den mest praktiske løsning). Du kan næsten være sikker på at din javascript kode (uanset hvad den er) ikke vil blive kørt at bots.
jeps okay, jeg må finde en anden løsning på det....
Jeg fik vel slet ikke fortalt hvad jeg ville med det :o) Jeg vil spørge om man vil deltage i en brugerundersøgelse til alle der dumper ind på min webshop efter en søgning på google eller bing, og forlader siden efter kort tid igen. Altså et forsøg på at få kunderne til at fortælle hvad der skræmte dem væk eller mangler i produktern, eller om de synes priserne er for dyre osv osv
ikke alle selvfølgelig, men en udvalgt skare.
men jeg regner med at lave det således at den evaluerer ved første hit om kunden kommer fra google søgning. hvis ja, så så aktiveres et javascript som sender videre til survey, og survey sender så automatisk videre med javascript til den side som kunden oprindeligt ville lande på. altså bliver der tilføjet 2 hop til browserens history. og hvis kunden går tilbage, så kommer han til survey. men survey spørg så pænt med en javascript confirm() om man vil deltage, ellers smides man bare tilbage til google søgningen.
Jeg vil helst genere kunden så lidt som muligt, og bare spørge hurtigt om de vil svare på et par spørgsmål. men også være sikker på at bots aldrig sendes videre til survey'en.
Jeg bruger mig generelt ikke om når websites forsøger at forstyrre min browser historik, men det må man jo selv bedømme. En javascript confirm, der vil fryse browser vinduet (man skal tage stilling inden man trykke tilbage igen) vil være endnu mere irriterende.
Du kan dog godt både hente referencen og redirecte gennem alm. javascript.
Du kan så lave noget regex på referrer, for at tjekke om det er google eller bing. Brug cookies til at gemme information (hvilken side de kom ind på, om du vil vise dem survey eller ej, osv.).
Det største problem er nok, at du ikke ved fra starten om de skal vises survey eller ej. Du er nødt til at lave den første redirect til survey'en uden at vide dette. Det bliver svært at lave det uden den enten bliver vist tilfældigt/eller til alle.
Jeps nu har jeg faktisk lavet det og det virker fint i safari, men umiddelbart ikke i IE og Firefox.
jeg har gjort det således: ved ankomst evalueres om kommer fra google søgning hvis ja sender javascript videre til survey (document.location.href) survey sender så med det samme videre til ankomstsidens oprindelige url (document.location.href) hvis man går tilbage og havner på survey siden, så siger man ja eller nej til at deltage i survey. ved nej smides man tilbage til sin google søgning
enig confirm er træls og jeg må lave en anden løsning
Men underligt nok så virker det kun i safari og ikke i IE, Chrome og Firefox. De tilføjer simpelthen ikke document.location.href'en til browserens history hmm underligt synes jeg!!! Nogen der kan forklare det?
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.