Avatar billede data2k.dk Nybegynder
05. december 2002 - 13:08 Der er 8 kommentarer og
2 løsninger

lave limit

Hejsa

Er der en der har script som gør at når man har åbnet en side 30 gange i løbet af 24 timer så kan man ikke se den... altså man får f.eks en besked om at man skal vente i 24 før man kan se den igen.

Det skulle helst laves så den tjecker det via. IP nr.
Hvis spørgsmålet ikke er helt forståeligt så spørg endelig.

Mvh
Data
Avatar billede pfp Nybegynder
05. december 2002 - 13:11 #1
Du kunne jo lave det med en database. Når brugeren kom ind på siden blev der lagt dato og antal besøg ind i tabellen. Og på den måde kunne du i starten af din side lave et tjek og se om antal besøg fra pågældende ip har været på besøg mere end 30 gange. Det skulle ikke være så svært.

Sig til hvis du ikke forstår.
Avatar billede data2k.dk Nybegynder
05. december 2002 - 13:36 #2
Jeg er ikke særlig god til ASP er begynder. Jeg har været på nettet for at finde eksempler på det, men desværre intet.
Hvis du har tid må du meget gerne lave et kort men simpelt eksempel på det så du ikke skal bruge for meget af tid på dette. Det ville dog være ret med en enkelt kommentar i koden eller 2 :)
Avatar billede midas_dk Nybegynder
05. december 2002 - 17:41 #3
<%
If Request.Cookies("visits") = "" Then
  Response.Cookies("visits") = 1
Else
  Response.Cookies("visits") = CInt(Request.Cookies("visits")) + 1
End If

If Request.Cookies("visits") > 30 Then
  Response.Write "Du må vente 24 timer, fister"
  Response.End
End If
%>

Nu kan jeg så ikke lige huske syntaksen for datoer og ting, men man kan sætte udløbs-"dato" på cookies ved at sige Response.Expires = etellerandet a là day(now()) + 1...
Avatar billede data2k.dk Nybegynder
05. december 2002 - 18:35 #4
har ikke pillet ved cookies før... men det ser ud som om man ikke skal bruge en database eller?

kan denne dato kode bruges og hvis ja hvordan sættes den ind i den kode du har angivet?

CDate(dato) = CDate(Date()) OR CDate(dato) = CDate(datoMinusEn)
Avatar billede pfp Nybegynder
05. december 2002 - 20:06 #5
Gør bare som midas_dk foreslår. Det er mig der havde glemt at cookies i denne situation ville være langt smartere end brugen af database. Dog er det selvfølgelig en forudsætning, at alle brugere har indstillet deres browser til at acceptere cookies.
Avatar billede data2k.dk Nybegynder
05. december 2002 - 20:19 #6
okay, men det lød som om at koden manglede det med dato'en ..ud fra denne sætning
Response.Expires = etellerandet a là day(now()) + 1

kan du hjælpe så kan i begge tag del i pointene
Avatar billede midas_dk Nybegynder
06. december 2002 - 16:26 #7
Okay... Prøv at indsætte denne her linje under Response.Cookies("visits") = 1:

Response.Cookies.Expires = DateAdd("d",1, Now())

Jeg MENER, at dette vil sætte udløbsdato på cookien. Hvis det er tilfældet, bliver det efter én dag (24 timer as requested ;-).

Og jo, det kræver naturligvis at brugeren tillader cookies... Men det er temmelig nemmere end at skulle rode rundt i databaser!
Avatar billede data2k.dk Nybegynder
07. december 2002 - 10:53 #8
Din kode virker perfekt Midas.dk! håber derfor at kodefordelingen er acceptabel sådan her.
Tak for hjælpen!
Avatar billede data2k.dk Nybegynder
07. december 2002 - 14:15 #9
jeg lavede en test side som en kammerat skulle tjecke...han siger at hanfår fejlen
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'DateAdd(...).Expires'


jeg fik ingen fejl selv, kun ved første forsøg, men de var fordi jeg glemte

:

efter = 1


kan denne del laves anderledes?
Avatar billede midas_dk Nybegynder
09. december 2002 - 10:24 #10
Næh hov, der skal ikke være : efter = 1 i koden, det var en fejl.
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