Gå til innhold

ikke-innloggede brukere og stemmegivning


Anbefalte innlegg

Hva er vanlig praksis på håndtering av hva en ikke-innlogget bruker har gitt sin stemme på i et fritt tilgjengelig nettsted?

 

Det jeg gjør pr. nå er å ha en liste med stemme-objekter i sesjonen til brukeren. Da stopper man vanlige brukere fra å stemme flere ganger på samme ting. I mitt tilfelle skal en bruker bare ha anledning til å stemme på en tekst en gang pr. døgn.

 

For å bremse de litt mer kunnskapsrike brukerne som har lyst til å stemme mer enn de har anledning til, så sjekkes det i tillegg ved hver stemme om en tekst har fått mer enn X-antall stemmer de siste 24 timene fra brukerens IP-adresse.

 

Det kan finnes et stort antall brukere bak en enkelt IP-adresse (skoler, firmaer, etc), så det er litt problematisk å justere denne X-verdien.

 

Er disse to mekanismene en grei måte å håndtere problemet på? Kan det gjøres bedre uten å kreve innlogging?

 

Det å kreve innlogging er uaktuelt, da det en del av konseptet.

 

Fint om noen kan dele sine erfaringer rundt dette.

Lenke til kommentar
Videoannonse
Annonse
Det kan finnes et stort antall brukere bak en enkelt IP-adresse (skoler, firmaer, etc), så det er litt problematisk å justere denne X-verdien.

8105068[/snapback]

Det man kan gjøre er å forsøke å gripe tak i den lokale ip som man så sender til server for registrering etc. Imidlertid, dette krever bruk av en passende applets eller for IE kan man alternativt bruke activeX. Dette igjen er heller ikke uten problemer, fordi når websiden inneholder applets eller activeX, så får man iallfall en advarsel etc. og som brukeren må akseptere. Men som sagt, det er mulig. Her er et enkelt eksempel på activeX i IE under windows XP:

 

<html>
<head>
<script language =vbscript>
res = cmdResulter("ipconfig")
arr = split(res,":")
c = left(arr(3),15) 'Local Ip i c
msgbox(c) 'Her behandles Ip videre som man vil
Function cmdResulter(linje)
Dim oShell, Cmd
set oShell = CreateObject("WScript.Shell")
set Cmd = oShell.Exec("%COMSPEC% /c " & linje)
cmdResulter = Cmd.StdOut.ReadAll
End Function
</script>
<body>
</body>
</html>

Lenke til kommentar

ALDRI bruk VBScript fra HTML hvis man ikke er 150% sikker på at alle maskinene bruker IE, og tilogmed da er det ikke noe poeng fordi man har JScript (som ihvertfall har hakket større sjanse til å kjøre på andre browsere).

 

Dessuten har vel 99.9% av maskinene idag såpass oppdaterte Windows'er at det eneste scriptet over vil utrette er å gi brukeren en javascript feilmelding. Evt bli sperret av firewall'n til firmaet de jobber i.

 

 

Det finnes ingen fullkommende måter å sjekke at en anonym bruker ikke stemmer flere ganger. Man kan gjøre det "litt" vanskeligere ved å bruke session, cookies eller IP sjekk, men det vil for litt avanserte brukere fortsatt være lett å komme utenom dette. For en vanlig spørreundersøkelse på en side er nok dette bra nok, men om man skal stemme over viktige ting så må man nok kreve at brukeren er registrert.

Endret av jorn79
Lenke til kommentar
Det man kan gjøre er å forsøke å gripe tak i den lokale ip som man så sender til server for registrering etc. Imidlertid, dette krever bruk av en passende applets eller for IE kan man alternativt bruke activeX. Dette igjen er heller ikke uten problemer, fordi når websiden inneholder applets eller activeX, så får man iallfall en advarsel etc. og som brukeren må akseptere. Men som sagt, det er mulig. Her er et enkelt eksempel på activeX i IE under windows XP:

8107467[/snapback]

 

Interessant idé, men jeg er helt enig med jorn79 angående vbscript/activex på vanlige nettsider.

 

Det ante meg at det ikke er mulig å få til en fullgod løsning uten innlogging. Sider som feks hotornot.com fungerer jo uten innlogging, men jeg antar at de også bare bruker noe session/ip-sjekk i bakgrunnen.

 

takk for tilbakemelding uansett.

 

Jeg fikk en tilbakemelding på NWF:

http://norskwebforum.no/viewtopic.php?t=33030

 

som sier at man kan ta med HTTP_USER_AGENT i beregningen, men denne kan på lik linje med IP-adressen også spoofes.

Lenke til kommentar

User-agent vil være dumt å sjekke, siden user-agent er ganske likt på mange browseere. Dumt at man ikke kan stemme fordi noen andre har prøvd å stemme med Firefox tidligere ;)

 

Måten de gjør det på i NWF er for at personer i samme firma (samme offisielle IP) skal kunne få lov til å stemme. Men samtidig gjør det det lettere å jukse da det bare er å forandre user-agent... Dessuten betyr det at jeg kan stemme 3 ganger, siden jeg har 3 browsere installert :)

 

 

* Session for å sjekke at man ikke har stemt tidligere

* Session for å sjekke at man faktisk har vært innom flere sider før man prøvde å stemme?

* Cookies

* IP sjekk (kanskje/kanskje ikke sammen med user-agent)

* Delay (hvis det tar 5-10 sekunder fra man trykker VOTE til stemmen blir registrert kan det avskrekke folk fra å stemme flere ganger -- de blir lei fort ;) ). Gjerne med "Vent mens vi behandler din stemme".

* Captcha (for å hindre automatiserte stemmer)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...