webForumDet fria alternativet

förhindra fusk i en poll

ASP

1 svar · 204 visningar · startad av Mira

Medlem sedan maj 2001966 inlägg
Frågan#1

Jag har ett gratisscript (kan ej koda själv) med omröstning.
Den har blockering för fusk via cookies, men eftersom endel kan ha det avstängt är det ju inte särskilt effektivt.

Därför vill jag lägga in en blockering via IP, så att det bara går att rösta 1 gång för varje IP-adress - med en timeout på 7 dagar.

Hur skulle en sådan kod se ut?

Medlem sedan dec. 20002 526 inlägg
#2

Du kan ju lagra det i databas da......

sql = "insert into tabell (ipAddress, dtExpire) "&_
"Values ('"&Request.ServerVariables("HTTP_ADDR")&"', DateAdd("d", 7, Date))"
objConn.execute sql,,128

sen kan du ju jamfora med If-sats typ:

strGetInfo = "Select * from tabell Where ipAddress = '"&Request.ServerVariables("HTTP_ADDR")
set rs = objConn.execute(strGetInfo)
If rs.eof then
'rostning gar igenom
'samt inserten
sql = "insert into tabell (ipAddress, dtExpire) "&_
"Values ('"&Request.ServerVariables("HTTP_ADDR")&"', DateAdd("d", 7, Date))"
objConn.execute sql,,128
Else
strLeft = DateDiff("d", rs("dtExpire"), Date())
If rs("dtExpire") = Date() then
'rostningen gar igenom
Else
response.write "Du maste vanta "&strLeft&" tills du kan rosta igen!"
End IF
End IF

vet ej om detta funkar, ar inte saaaaaa haj pa datum, men testa kan du ju alltid gora... ;)
Sen finns det sakert mycket battre satt!
response.write

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)