Gå til innhold

Php/mysql toppliste, problemer med juks


Anbefalte innlegg

Har tidligere fått hjelp her i forumet med å konstruere en toppliste for musikk.

I senere tid erfarer jeg at lesere har for vane å utnytte en liten bug i scriptet (man kan stemme på et band uendelig ved å trykke F5). Dette er selvfølgelig svært irriterende for både meg og andre lesere.

 

Så lang har jeg lagt merke til at det er vanskeligere å juks dersom topplisten kjøres i eget vindu, med andre ord motsatt fra slik den er nå - i egen frame. Ønsker helst å kjøre i frame, og dette er derfor absolutt siste løsning.

 

Noen som har peiling på hvordan dette kan fikses? :shrug:

www.home.no/hipoghop

Lenke til kommentar
Videoannonse
Annonse

Du kan putte alt av stemmer i en database, og ta vare på ip-adressen til personen som stemte. Evt kombinert med en cookie, slik at brukeren med modem og lignende må gjøre mer enn å bare koble fra og til nettet igjen.

Lenke til kommentar

Stemmer ;) Det er ikke godt og si hvordan den funker, vet den lagrer adressene, men blocker kun noen adresser, ettersom den ikke kan blocke f.eks alle Telenor adsl-brukere med iper som starter på 80. Det er ikke jeg som har scriptet det, er derfor usikker. Sender deg koden PM.

 

Dersom flere er ivrige etter å finne gullegget legger jeg og ut koden direkte, her.

Lenke til kommentar

Jeg må inrømme at jeg ikke tok meg tid til å se på koden din, men jeg har laget et avstemmingssystem (for Finnmark frp uten sammenligning eller sammenheng forøvrig) og da la jeg inn en ip-sperre og cookie sjekk.

 

Det du gjøre er å spørre databasetabellen før du oppdaterer den slik:

 


//her kan do også sjekke etter en cookie.

$query="SELECT Navn FROM tabell WHERE ip=$_SERVER['REMOTE_ADDR']";

$result=mysql_query($query) or die(mysql_error());

if (mysql_num_rows($result)>0)

{

 $row=mysql_fetch_assoc($result);

 header("location=AlleredeStemt.php?Navn=$row['Navn']");

}

else

{

 $query="INSERT INTO tabell VALUES(NULL, Navn, Email, $_SERVER['REMOTE_ADDR']);

 mysql_query($query) or die(mysql_error());

//her kan du også sette en cookie.

}



 

 

Håper dette hjelper.

Lenke til kommentar

Takker for det :) Men det problemet mitt har nesten løst seg selv.

 

Siden første post i topic'en har jeg omsider fått flyttet sida over til en ny webleverandør, cliche og det hele ser ut til å komme seg. Utrolig men sant! :yes:

Lesere er nå låst til å stemme max en gang innen et 12-timers intervall (satte ned fra 24 til 12).

 

Flere med sider hos OSEI som har problemer med liknende php/mysql situasjoner?

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