Avatar billede rolfenstein Nybegynder
15. juni 2006 - 12:25 Der er 13 kommentarer

Ban en Ip fra en homepage

Jeg har en side (defaule.asp) side hvor jeg godt kunne tænke mig at banne en eller flere ip´er...

En der kan fortælle mig hvordan jeg kan gøre det ?
Avatar billede fennec Nybegynder
15. juni 2006 - 12:31 #1
Du kan få fat i IP nummeret med:
Request.ServerVariables("REMOTE_HOST")

Så er det bare at sammenligne det nr med din liste.
Avatar billede fennec Nybegynder
15. juni 2006 - 12:35 #2
Det er:
Request.ServerVariables("REMOTE_ADDR")

i stedet. REMOTE_HOST returnere domæne-navnet hvis brugeren har sådan et (ikke mange der har), ellers returnere den REMOTE_ADDR. Du kan lige så godt bruge REMOTE_ADDR så er du sikker på det er en IP hver gang.
Avatar billede kamiga Nybegynder
15. juni 2006 - 12:36 #3
<%
dim ip_nr
ip_nr    = Cstr(Request.ServerVariables(\"REMOTE_ADDR\"))

if ip_nr = \"xxx.xxx.xxx.xxx\" then
  response.redirect(\"ingen_adgang.html\")
end if
%>
Avatar billede kamiga Nybegynder
15. juni 2006 - 12:42 #4
jeg er ikke specielt god til ASP - det var noget jeg tilfældigt fandt i en bog :-)
Bør virke ;)
Avatar billede fennec Nybegynder
15. juni 2006 - 12:56 #5
Skulle vi lave det som en funktion:

sub banIP()
dim fArr(2), ff, fIP
  fIP = Request.ServerVariables("REMOTE_ADDR")
  fArr(0) = "aa.aa.aa.aa"
  fArr(1) = "bb.bb.bb.bb"
  fArr(2) = "cc.cc.cc.cc"
  for ff=0 to uBound(fArr)
    if fIP = fArr(ff) then response.redirect("Banned.asp")
  next
end sub

Man kan evt lave det med en database i stedet, så alle IP'er ligger deri. Så er det også nemmere at vedligeholde, lige som man kan banne personer i en periode, for så at give dem adgang igen.
Avatar billede fennec Nybegynder
15. juni 2006 - 12:57 #6
... Bare sig til hvis du er intreseret i en DB løsning, og de fordele der er herved :o)
Avatar billede rolfenstein Nybegynder
15. juni 2006 - 13:22 #7
Kan ikke få det til at virke- min default.asp set sådan her ud:

<%
Dim StrIp,StrCheckIP, Sql, rs

StrIP         = Request.ServerVariables("REMOTE_ADDR")

Sql = "Select ip from users where chat_ban > '2'"
    Set rs = Conn.Execute(Sql)









Hvor skal jeg så liggeden her ind:

  <%
dim ip_nr
ip_nr    = Cstr(Request.ServerVariables(\"REMOTE_ADDR\"))

if ip_nr = \"xxx.xxx.xxx.xxx\" then
  response.redirect(\"ingen_adgang.html\")
end if
%>


PS: Jeg har de iper jeg skal banne
Avatar billede moocher Nybegynder
15. juni 2006 - 13:28 #8
Husk de skal skrives som  fx 85.15.65.23 og ikke med foranstillede 0 som i 085.015.065.023
Avatar billede moocher Nybegynder
15. juni 2006 - 13:29 #9
'2' ville jeg skifte til 2 (men ved ikke om det er korrekt)
Avatar billede moocher Nybegynder
15. juni 2006 - 13:29 #10
if ip_nr = \"xxx.xxx.xxx.xxx\" then

erstattes med

if ip_nr == \"xxx.xxx.xxx.xxx\" then
Avatar billede moocher Nybegynder
15. juni 2006 - 13:31 #11
Men din udtrækning ville jeg egentlig trække anderledes ud

Select ip from users where chat_ban > '2'

Select chat_ban from users wjere ip = StrIP

if chat_ban > 2 then

ingen adgang
Avatar billede fennec Nybegynder
15. juni 2006 - 14:15 #12
Og som en funktion du bare skal kalde:

sub banIP()
dim fRS
  fIP = Request.ServerVariables("REMOTE_ADDR")
  set fRS = conn.execute("select IP from users where ip='"& fIP &"' and chat_ban > 2")
  if fRS.eof then
    'OK
  else
    'Banned
    response.redirect("Banned.asp")
  end if
end sub
Avatar billede fennec Nybegynder
15. juni 2006 - 14:17 #13
Du smider bare funktionen et eller andet sted på din side (evt i en include) og kalder funktionen med:
call banIP()

Det skulle være lige til at bruge :o)
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