Avatar billede fastpoint Nybegynder
06. oktober 2001 - 20:48 Der er 33 kommentarer og
2 løsninger

Sikre min topliste mod snyd

hvordan laver jeg sådan at dette script (in.asp)
gemmer folks ip nr. så de ikke kan blive ved med at
stemme på deres egen side.


<%

link = Request.QueryString(\"id\")

    dim strDSN, Conn
    strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"database.mdb\")
    Set Conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open strDSN

Set RS = conn.Execute(\"select * from downloads where ID =\" & link)

if cdate(request.cookies(\"views\")(cstr(link))) < DateAdd(\"d\",-6,now()) then
    views=cInt(rs(\"views\"))+1
    Set RS2 = conn.Execute(\"UPDATE downloads SET views = \" & views & \" Where ID =\" & link)
    response.cookies(\"views\").expires=DateAdd(\"m\",1,now())
    response.cookies(\"views\").domain = \"www.test.dk\"
    response.cookies(\"views\")(cstr(link))= now()
End If

jwredir = RS(\"link\")

RS.Close
set rs= nothing
conn.Close
set conn = nothing

Response.Redirect (jwredir)
%>


Den samme ip\'s stemme kan kun gælde en gang hver 12 time
Avatar billede z42cool Nybegynder
06. oktober 2001 - 20:58 #1
Klientens IP adresse kan du læse i Request.ServerVariables(\"REMOTE_ADDR\"). Du kan så f.eks. have en tabel der indeholder ip adresse og tidspunkt for hvornår denne ip sidst har stemt. Ved ny stemme afgivelse læser du tidsounktet fra tabellen, hvis det er mere end 12 timer siden, så overskriver du det gamle tidspunkt med nu og tæller views én op.
Avatar billede fastpoint Nybegynder
06. oktober 2001 - 21:07 #2
kan du ikke lige kopier det ind i sciptet for det står ikke helt klart for mig
Avatar billede fastpoint Nybegynder
06. oktober 2001 - 21:24 #3
så har jeg afsat 100point mere til den der kan hjælpe
Avatar billede fastpoint Nybegynder
06. oktober 2001 - 21:27 #4
så er der forhøjet med yderligere 505point
Avatar billede fastpoint Nybegynder
06. oktober 2001 - 21:29 #5
500 mere
Avatar billede fastpoint Nybegynder
06. oktober 2001 - 21:30 #6
og 1000 point mere
Avatar billede gfx Nybegynder
06. oktober 2001 - 21:31 #7
Hvad har du gang I...?

Enten er du virkelig deperat, får at få et svar eller så sny... du?

</gfx>
Avatar billede z42cool Nybegynder
06. oktober 2001 - 21:34 #8
<%

link = Request.QueryString(\"id\")

    dim strDSN, Conn
    strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"database.mdb\")
    Set Conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open strDSN

Dim ClientIP, CanVote
\'Først skal vi have fat i klientens ip adresse
ClientIP = Request.ServerVariables(\"REMOTE_ADDR\")
\'Så skal vi se om vi kan få fat i ip adressen med et tidspunkt inden for de seneste 12 timer
Set RS = conn.Execute(\"SELECT LogTime FROM ClientIPAdresses WHERE ClientIP=\'\" & ClientIP & \"\' AND LogTime>DATEADD(Hour, -12, GETDATE())\")
If RS.EOF Then
    \'Hvis vi ikke fandt en ip er der to muligheder
    RS.Close()
    Set RS = conn.Execute(\"SELECT LogTime FROM ClientIPAdresses WHERE ClientIP=\'\" & ClientIP & \"\'\")
    If RS.EOF Then
        \'IP adressen er aldrig blevet logget så den skal logges
        conn.Execute(\"INSERT INTO ClientIPAdresses (ClientIP, LogTime) VALUES (\'\" & ClientIP & \"\', GETDATE())\")
    Else
        \'IP adressen er blevet logget, men for over 12 timer siden så den skal opdateres
        conn.Execute(\"UPDATE ClientIPAdresses SET LogTime=GETDATE() WHERE ClientIP=\'\" & ClientIP & \"\'\")
    End If
    \'Og så må der jo stemmes
    CanVote = True
Else
    \'Hvis vi fandt den så må der ikke stemmes
    CanVote = False
End If


Set RS = conn.Execute(\"select * from downloads where ID =\" & link)

\'Så skal vi lige have CanVote med som betingelse for at afgive stemme
if cdate(request.cookies(\"views\")(cstr(link))) < DateAdd(\"d\",-6,now()) AND CanVote then
    views=cInt(rs(\"views\"))+1
    Set RS2 = conn.Execute(\"UPDATE downloads SET views = \" & views & \" Where ID =\" & link)
    response.cookies(\"views\").expires=DateAdd(\"m\",1,now())
    response.cookies(\"views\").domain = \"www.test.dk\"
    response.cookies(\"views\")(cstr(link))= now()
End If

jwredir = RS(\"link\")

RS.Close
set rs= nothing
conn.Close
set conn = nothing

Response.Redirect (jwredir)
%>

Så skal du naturligvis have lavet en tabel til disse informationer, men den er simpel nok, to felter
CREATE TABLE ClientIPAdresses (ClientIP Char(15), LogTime DateTime)

Håber at det virker, det er jo lidt svært for mig at teste, men ellers så skriver du bare :-)
Avatar billede fastpoint Nybegynder
06. oktober 2001 - 21:36 #9
GFX:

Jeg er virkelig desperat
Avatar billede gfx Nybegynder
06. oktober 2001 - 21:39 #10
:-)
Avatar billede fastpoint Nybegynder
06. oktober 2001 - 21:43 #11
hvad skal tabellen hedde?
Avatar billede z42cool Nybegynder
06. oktober 2001 - 21:44 #12
Den skal hedde ClientIPAdresses (f.eks..... Hvis du hellere vil have at den hedder noget andet, så er ASP koden nem at rette til!)
Avatar billede tdaugaard Nybegynder
06. oktober 2001 - 21:49 #13
fastpoint:> Anmeldelse om misbrug afsendt til admins; klart brud på reglen om at bruge sine point med omtanke!
Avatar billede fastpoint Nybegynder
06. oktober 2001 - 21:55 #14
tdaugaard:

Har du hørt den der sang hende der pink synger? \"You make me sick\"

Misbrug? Hvad snakker du om? Er det inflation du er bange for? POINT ER INTET VÆRD SÅ DER INGEN GRUND TIL BEKYMRINGER!

Desuden kom der først liv i z42cool da der kom rigtige point på bordet
Avatar billede z42cool Nybegynder
06. oktober 2001 - 21:57 #15
fastpoint>> Ikke fordi jeg ikke er glad for at der er \"rigtige\" pont på bordet, men tidsrummet havde altså mest at gøre med at jeg lige skulle skrive koden (og passe landskampen :-))
Avatar billede tdaugaard Nybegynder
06. oktober 2001 - 21:58 #16
fastpoint:> I don\'t care. Måske er point intet for dig, men for nogle af os afspejler de en brugers viden. Jeg afmelder mig dette spm.
Avatar billede fastpoint Nybegynder
06. oktober 2001 - 22:00 #17
Okay....


Hvor mange point er spørgsmålet værd?
Avatar billede z42cool Nybegynder
06. oktober 2001 - 22:49 #18
Kan du få det til at virke????
Avatar billede eagleeye Praktikant
06. oktober 2001 - 23:07 #19
Hvis folk har modem så er det så kan de logge af og på igen, for at stemme. Det med IP er både godt og skidt.
Godt: Let at lave.
Skidt: Ved at logge på igen kan IP ændres. Dvs. så også sige du lukker for andre i 1 som uheldigvis har fået den IP. Hvis nu der er mange bruge som gerne vil stemme men de er bag en firewall så er det kun den første som kan stemme, fordi du logger firewallens IP.

Alternativ Coolies:
Godt: let at lave
Skidt: Let at omgå, coolies kan slettes.

Alternativ Opgiv email ved stemme:
Godt: svære at snyde
Skidt: Folk gider ikke stemme.
Avatar billede Slettet bruger
07. oktober 2001 - 16:36 #20
Den med email holder IKKE EN METER

Der er ingen, som vil give deres email, af frygt for at få tilsendt materiale.

Derfor vil det være smart at lave en cookie, som hedder noget meget mystisk...


En anden ulempe ved at logge IP er, at det tit er at folk, fx på skoler og lignende har den samme IP til fx. 100 elelr 1000 computere!

Avatar billede runesoft Nybegynder
08. oktober 2001 - 09:41 #21
vedrørende skoler, så vil det være meget nemt at gå fra det ene til den anden computer på en skole og stemme fra hver.

opgive email ved stemme. Det tager 2 sekunder at taste en emailadresse ind som ikke peget nogen steder.

At få brugeren til at logge ind er nok det bedste....
Avatar billede nil.dk Nybegynder
08. oktober 2001 - 09:45 #22
Jeg har gjort Admin opmærksom på dette spørgsmål.
Avatar billede NanoQ Nybegynder
08. oktober 2001 - 09:47 #23
Intet spørgsmål er så mange point værd.

60 er default for et SVÆRT spørgsmål... bare 100 burde kun gived ved næsten umulige opgaver...
Avatar billede z42cool Nybegynder
08. oktober 2001 - 09:49 #24
nanog>> Hvem døe og gjorde dig til point-over-master?????
Avatar billede NanoQ Nybegynder
08. oktober 2001 - 10:00 #25
z42cool, Jeg kommenterer altid, når Eksperten ikke bliver brugt korrekt.

Og min dokumentation på dette:

fastpoints point:
Oprettelsesdato 2001-05-04 22:06:19
Point ved oprettelse 300
Point opsparet (157 dage * 5 point) 785
Point tjent 8071
Point brugt 6656
Point ude 2505
Banner Point 15
I alt 10

Han sætter 2505 point på ét spørgsmål - altså næste alle point.

samtidig står der i \"Beskivelse af Eksperten\" (http://www.eksperten.dk/info_beskrivelse.phtml):

\"Du bliver, når du stiller et spørgsmål, bedt om at angive hvor mange point et rigtigt svar er værd. Der er givet forslagene \"nemt\", \"medium\", og \"svær\" med henholdsvis 15, 30, og 60 point. Herudover kan du vælge selv at definere, hvor mange point det HELT rigtige svar giver.\"

Og ja... der står også at man kan give mere...

Men så går vil lige til Ekspertens Regler (http://www.eksperten.dk/info_regler.phtml):

\"De point som man tildeles eller har optjent, skal anvendes med omtanke, således at alle fremover kan have tiltro til dette system.\"

Jeg må konkludere at point ikke er anvendt med omtanke, når man banker alle sine point af i ét spørgsmål. Det er desuden spørgsmål med disse urimeligt høje pointsummer der er med til at fremme det der bliver kaldt \"pointinflation\" på Eksperten.

NanoQ
Avatar billede z42cool Nybegynder
08. oktober 2001 - 10:01 #26
ups.... døe = døde
Avatar billede fastpoint Nybegynder
08. oktober 2001 - 12:25 #27
LOL

Hold dog kæft hvor i stener!
Jeg har spurgt om hvor meget jeg så skulle give for dette spørgsmål! Desuden kan i se at jeg HAR lagt et svar selv så jeg kan tage resten af mine point tilbage.

Rolig jeg tester lige i dag om det virker det der script. Vender tilbage i aften:)
Avatar billede fastpoint Nybegynder
08. oktober 2001 - 12:27 #28
Nanoq?

Hvorfor fanden lægger du et svar? Er du DUM?
Avatar billede fastpoint Nybegynder
08. oktober 2001 - 12:29 #29
Philip?

DET VED JEG GODT!

Jeg spurgte ikke om hvordan folk kan snyde det ved jeg! Jeg bad om et script som loggede folks IP så de ikke kunne vote. Jeg er ligeglad med om nogen så ikke kan vote da de stadig kan se siden men deres vote gælder bare ikke.
Avatar billede NanoQ Nybegynder
08. oktober 2001 - 12:47 #30
at jeg lagde et svar var en fejl.
Avatar billede fastpoint Nybegynder
08. oktober 2001 - 17:52 #31
z42cool:

Jeg lukker spørgsmålet, men jeg er ikke færdig. Det virkede ikke, men jeg lægger lige en besked snart og sender dig nok scriptet så kan du ordne det for mig. Jeg åbner selvfølgelig et nyt spørgsmål med passende antal point:) Men her får du dog noget alligevel.
Avatar billede fastpoint Nybegynder
08. oktober 2001 - 17:53 #32
z42cool:

Jeg lukker spørgsmålet, men jeg er ikke færdig. Det virkede ikke, men jeg lægger lige en besked snart og sender dig nok scriptet så kan du ordne det for mig. Jeg åbner selvfølgelig et nyt spørgsmål med passende antal point:) Men her får du dog noget alligevel.
Avatar billede fastpoint Nybegynder
26. oktober 2001 - 16:32 #33
z42cool:

Så er jeg tilbage....kan jeg sende dig filerne til min toplist så kan du rette følgende.
1. Den skal sorterer de tilmeldte hjemmeside efter hvem der har sendt flest hits til min side (in.asp) men det gør den altså ikke hele tiden.
2. Gøre den lidt mere snyde sikker....lige nu kan man bare trykke på sit eget link igen og igen og dermed snyde.

jeg opretter et spørgsmål og giver dig de point du nu vil have for det:)
Avatar billede z42cool Nybegynder
26. oktober 2001 - 20:39 #34
Send det endeligt..... asj@webworx.dk
Avatar billede fastpoint Nybegynder
26. oktober 2001 - 21:42 #35
sendt:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester