webForumDet fria alternativet

Räknare ska bara fungera på ?url=denna

ASP

4 svar · 304 visningar · startad av voigtann1

Medlem sedan juni 20019 519 inlägg
Frågan#1
dim t,count,length,nollor,id,databas,recset,mdbfilepath
id = request.querystring("ID")
if id = "--Example--" then
  count = "0123456789"
else
  Set Databas = Server.CreateObject("ADODB.Connection")
  MdbFilePath = Server.MapPath("db/freecounter.mdb")
  Session("dbasepath") = "driver={Microsoft Access Driver (*.mdb)};dbq=" & MdbFilePath & ";"
  Databas.Open Session("dbasepath")

  SQL = "SELECT visitors from counter where accountID = "& id
  set recset = databas.execute(SQL)
  if recset.eof then
    response.write "document.write(""error"")"
  else
    count = recset("visitors")
  end if
  recset.close: set recset = nothing

' Skapa Cookie för att kolla räknare
' **********************************
  If Request.Cookies("counting")("userID" & cStr(id)) = "" then
    count = count +1
    Response.Cookies("counting")("userID" & cStr(id)) = "voigtancount30"
    Response.Cookies("counting").Expires = DateAdd("h",3,Now())
      SQL = "UPDATE counter " 
      SQL = SQL & "SET visitors = "& count
      SQL = SQL & " WHERE accountID = "& id
      databas.execute SQL
  end if
end if

Om användarID 1 har url:en i databasen på http://nagot.se eller http://nagotannat.se/minegnasida/
och använder denna kod:

<script language="javascript" src="counter.asp?id=1&url=http://sidan.se/minsida/default.asp"></script><hr>

För det första: Hur gör man så att den kontrollera vilken URL javascriptet är på så att inte personen använder sin räknare/eller någon annans räknare som kan ge falska svar..

Medlem sedan juni 20019 519 inlägg
#2

kan någon av detta fungera?:

Request.ServerVariables("HTTP_REFERER")

???

Medlem sedan sep. 20026 425 inlägg
#3

Jag funderade på REFERER tidigare idag, testa denna kod:

<%
If Instr(Request.Querystring("url"),Request.ServerVariables("HTTP_REFERER"))>0 Then
Response.Write "<script language=""javascript"" src=""counter.asp?id=1&url=http://sidan.se/minsida/default.asp""></script><hr>"
Else Response.Write "Ej tillåten räknare."
End If
Medlem sedan juni 20019 519 inlägg
#4

Så här eller?

  SQL = "SELECT visitors,start,homepage from counter where accountID = "& id
  set recset = databas.execute(SQL)
  if recset.eof then
    response.write "document.write(""error"")"
  else
    count = recset("visitors")
    startcount = recset("start")
    showcount = (count + startcount)
    url = recset("homepage")
  end if
  recset.close: set recset = nothing

' Skapa Cookie för att kolla räknare
' **********************************
  If Instr(url,Request.ServerVariables("HTTP_REFERER"))>0 Then
    If Request.Cookies("counting")("userID" & cStr(id)) = "" then
      count = count +1
      Response.Cookies("counting")("userID" & cStr(id)) = "voigtancount30"
      Response.Cookies("counting").Expires = DateAdd("h",3,Now())
        SQL = "UPDATE counter " 
        SQL = SQL & "SET visitors = "& count
        SQL = SQL & " WHERE accountID = "& id
        databas.execute SQL
    end if
  else
    response.write "You cant use this counter"
  end if
end if

Man kanske inte behöver en querystring ens för url::en...

Medlem sedan nov. 20017 144 inlägg
#5

Url:en kan du väl hårdkoda in om den bara skall funka på din adress.

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)