---
title: "Hindra fusk i en topplista"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/14172-hindra-fusk-i-en-topplista"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "joakimweb"
published: "2002-02-03T16:06:00.000Z"
updated: "2002-02-03T17:40:00.000Z"
replies: 7
views: 259
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/14172-hindra-fusk-i-en-topplista"
---

# Hindra fusk i en topplista

## #1 — joakimweb, 2002-02-03T16:06Z

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&acute;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&auml;r i \<a href="http://www.joakimweb.com" target="\_top"\>JoakimWeb\</a\>&acute;s 
  topplista, s&aring; du f&aring; fler bes&ouml;kare p&aring; din hemsida!\<br\>
  \<a href="http://www.joakimweb.com" target="\_top"\>JoakimWeb\</a\>&acute;s topplista 
  brukar ge m&aring;nga bes&ouml;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"\>&nbsp;&nbsp;&nbsp;\</font\>\<font face="Verdana" size="1"\>\<br\>
        Endast en r&ouml;st per timma p&aring; samma sida r&auml;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\>&nbsp;&nbsp;&nbsp;\<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"\>&nbsp;&nbsp;&nbsp;&nbsp;\</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\>&nbsp;&#0124;\</font\>\<font size="1"\>&nbsp;\<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!

Permalänk: https://www.webforum.nu/p/14172

## #2 — M@rtin, 2002-02-03T16:13Z

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.

Permalänk: https://www.webforum.nu/p/309241

## #3 — joakimweb, 2002-02-03T16:17Z

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...

Permalänk: https://www.webforum.nu/p/309242

## #4 — jorgen, 2002-02-03T16:39Z

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 :)

Permalänk: https://www.webforum.nu/p/309243

## #5 — joakimweb, 2002-02-03T16:40Z

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?

Permalänk: https://www.webforum.nu/p/309244

## #6 — Skarre, 2002-02-03T16:46Z

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

// Skarre

\[Redigerat av Skarre den 03 feb 2002\]

Permalänk: https://www.webforum.nu/p/309245

## #7 — joakimweb, 2002-02-03T16:57Z

Jag har redan Cookies som skyddar...

Permalänk: https://www.webforum.nu/p/309246

## #8 — solbulle, 2002-02-03T17:40Z

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

Permalänk: https://www.webforum.nu/p/309247

---

Tråden på webben: https://www.webforum.nu/amne/asp/14172-hindra-fusk-i-en-topplista
