webForumDet fria alternativet

Hindra fusk i en topplista

ASP

7 svar · 243 visningar · startad av joakimweb

Medlem sedan feb. 2002141 inlägg
Frågan#1

Jag har en topplista på min hemsida. Man får bara rösta där 1 gång varje timma.

Om jag klickar ytterliggare 1 gång så räknas inte den rösten, eller rättare sagt så kan jag inte rösta eftersom jag inte kommer till sidan "vill du rösta på sidan...". Så det anti-fusk skyddet fungerar...

Men om jag klickar på tillbaka-knappen så kommer jag till den sidan och kan på så sätt lägga hur många röster jag vill på en sida utan begränsningar.

Det är detta jag vill förhindra...

<%On Error Resume Next%>
<%Response.Buffer = "True" %>
<meta http-equiv="pragma" content="no-cache">
<!--#Include file="installningar.asp"-->
<!-- #include file="adovbs.inc" -->

<%'***************************************Registrerar klicken******************************************'%>

<%
Go = Request.Querystring("go")

If Go = "out" Then

Set Conn = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DB
SQL = "SELECT * From topplista where Id=" & Request.Querystring("id")
RecSet.Open SQL, Conn, 1, 2

SQL = "Update topplista Set Out=Out+1 Where Id=" & Request.Querystring("id")
Conn.Execute(SQL)

Url = RecSet("Url")

RecSet.Close
Conn.Close
Set RecSet = Nothing
Set Conn = Nothing

Response.Redirect Url
End If

If Go = "done" Then

Set Conn = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DB
SQL = "SELECT * From topplista where Id=" & Request.Querystring("id")
RecSet.Open SQL, Conn, 1, 2

SQL = "Update topplista Set [In]=[In]+1 Where Id=" & Request.Querystring("id")
Conn.Execute(SQL)

RecSet.Close
Conn.Close
Set RecSet = Nothing
Set Conn = Nothing
Response.Redirect "topplista.asp"

End If
%>

<html>
<head>
<title>JoakimWeb´s topplista</title>
<link rel="stylesheet" href="stil.css" type="text/css">
<script src="tecken.js"></script>

<script language="JavaScript" type="text/javascript">
<!--
function visa(sida)
{
window.open(sida,"popup","scrollbars=1,resizable=0,width=570,height=470");
}
//-->
</script>

</head>

<body bgcolor="#FFFFFF">
<p><b><font size="3" face="Verdana">Topplistan</font></b></p>
<p><font face="Verdana" size="1">Regga dig här i <a href="http://www.joakimweb.com" target="_top">JoakimWeb</a>´s
topplista, så du få fler besökare på din hemsida!<br>
<a href="http://www.joakimweb.com" target="_top">JoakimWeb</a>´s topplista
brukar ge många besökare.</font> <br>
<%'*******************************************Bekräfta**************************************************'%>
<%
If Go = "in" Then
If Request.kaka(Request.Querystring("id")) = "true" Then
%>
<meta http-equiv="pragma" content="no-cache">
<SCRIPT LANGUAGE="JavaScript">

meta_tid=3000
sida="topplista.asp"
function meta()
{
top.location=sida
}
setTimeout("meta()",meta_tid)
//-->
</SCRIPT>
<table border=0 width=300>
<tr>
<td align=center>
<p><b><font face="Verdana" size="2">   </font><font face="Verdana" size="1"><br>
Endast en röst per timma på samma sida räknas!</font></b></p>
<p><font size="1" face="Verdana">Du skickas vidare till topplistan...</font></p>
</td>
</tr>
</table>
<p>
<%
ELSE

Set Conn = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & DB
SQL = "SELECT Sidnamn From topplista where Id=" & Request.Querystring("id")
RecSet.Open SQL, Conn, 1, 2
%>
<meta http-equiv="pragma" content="no-cache">
<table border=0 width=300>
<tr>
<td align=center><font size="2"><b>   <br>
Vill du lägga en röst på sidan?</b></font></td>
</tr>
<tr>
<td align=center><font size="2" color="#000066"><b>
<% =RecSet("Sidnamn") %>
</b></font></td>
</tr>
<tr>
<td align=center><font size="1">    </font></td>
</tr>
<tr>
<td align=right>
<div align="center"><font size="1"><b><%IF Request.kaka(Request.Querystring("id")) = "true" Then%>Ja<%ELSE%><a href="topplista.asp?go=done&id=<% =Request.Querystring("id") %>">Ja</a><%END IF%></b> |</font><font size="1"> <b><a href=topplista.asp>Nej</a></b></font></div>
</td>
</tr>
</table>
<%
RecSet.Close
Conn.Close
Set RecSet = Nothing
Set Conn = Nothing

Session(Request.Querystring("id")) = "true"
Response.kaka(Request.Querystring("id")) = "true"
Response.kaka(Request.Querystring("id")).Expires = DateAdd("h", 1, now)
End if
End If
%>

Hoppas någon vill/kan hjälpa mig!

------------------
/Joakim
www.joakimweb.com

Medlem sedan dec. 19992 085 inlägg
#2

Som jag förstod det så kollar du om man röstat och om man har det så visas inte länken till röstningen. Det är inte så bra eftersom man som du sa kan gå bakåt o sen kan man ju även lära sig sökvägen utantill. Det vore väll bättre om du innan rösten läggs till kollar om man röstat och har man det så läggs inte rösten till helt enkelt.

------------------
//M@rtin || Peachy.nu\\

ni taLar Bra laTiN

Medlem sedan feb. 2002141 inlägg
#3

jag har försökt i typ 2 timmar igår, men fick det inte att bli rätt...

Jag vet inte hur jag ska göra...

------------------
/Joakim
www.joakimweb.com

Medlem sedan feb. 20012 412 inlägg
#4

Ganska lätt att fuska som sagt. Är det en medlemssida kan du lagra vilka som röstat i en tabell i databasen.

mvh Jörgen :)

------------------
"När forumledarna är på gott humör går det också att få ett eller annat
vettigt ord ur dem." /Hypatia 2002

Medlem sedan feb. 2002141 inlägg
#5

Jag har tänkt lite på att logga alla som röstar...

Men finns det ingen som vet hur man gör för att förhindra fusk?

------------------
/Joakim
www.joakimweb.com

Medlem sedan apr. 20012 427 inlägg
#6

Beroende på hur stora dina krav på säkerhet är kanske "cookies" är ett alternativ?

// Skarre

[Redigerat av Skarre den 03 feb 2002]

Medlem sedan feb. 2002141 inlägg
#7

Jag har redan Cookies som skyddar...

------------------
/Joakim
www.joakimweb.com

Medlem sedan mars 20015 287 inlägg
#8

Om du tycker det skydd cookies ger så gör som M@rtin skriver.

------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II

259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)