Avatar billede sneakraid Nybegynder
24. april 2005 - 20:02 Der er 20 kommentarer og
3 løsninger

ip ban

Hej experten.dk

Jeg har siddet og kodet en gæstebog, hvor den logger ip i en database. Hvis jeg så har bannet en ip, hvordan skal jeg så skrive når jeg tjekker om ip'en findes i databasen under en tabel som kunne hedde ipban, og så tillade denne ip ikke at se mine sider ?
Avatar billede busschou Praktikant
24. april 2005 - 20:13 #1
Er ikke helt med på hvad du mener
Men du kan jo øverst på din side hente ip ved 
Request.Servervariables("REMOTE_HOST")
Så slår du op i din tabel IPBAN
Hvis den findes deri så kan du lave en response.redirect(din_fejl_side.asp)
Avatar billede kalp Novice
24. april 2005 - 20:13 #2
strSQL = "SELECT ip from dintabel WHERE ip= " & Request("REMOTE_ADDR")

  If not Rs.eof Then
            response.redirect "farvel.asp"
            response.end
    Else

din side her
Avatar billede busschou Praktikant
24. april 2005 - 20:15 #3
Mine ord....kalps kode ;o)
Avatar billede kalp Novice
24. april 2005 - 20:17 #4
hehe teamwork:o)
Avatar billede apo Praktikant
24. april 2005 - 20:28 #5
Det kan f.eks. gøres således hvis du bruger Access som database:

Navn på databasen: Banninger.mdb
Navn på tabel: iban
Felter i tabel: ID og IP

<%
Dim strIP
strIP = Request.ServerVariables("REMOTE_ADDR")

'ÅBNER DATABASEN
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\www\ditsite.dk\db\banninger.mdb"
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

'FINDER IP I DATABASEN
strSQL = "SELECT * FROM iban WHERE WHERE IP=" & strIP
Set rs = myConn.Execute(strSQL)

If Not rs.EOF Then
  'HVIS IP EKSISTERER I DATABASEN
  Response.Redirect "http://www.politi.dk/"
Else
  'HVIS IP IKKE EKSISTERER I DATABASEM
  Response.Redirect "http://www.ditsite.dk/Adgang.asp"
End If

'LUKKER DATABASEN
myConn.Close
Set rs = Nothing
Set myConn = Nothing
%>

Du skal så huske at udskifte stien til databasen med din egen :-)

Apo
Avatar billede sneakraid Nybegynder
24. april 2005 - 20:34 #6
hmm jeg kan ik lige set det der skulle virke... min side kommer bare med en fejl. Ellers er det mig som ik kan forstå at bruge det som du har skrevet der kalp :)

Hvis i f.eks. går ind på siden, så skal den først tjekke om jeres ip er i databasen, og hvis den er, skal den redirecte til en side... men hvis ip'en ikke er i databasen så skal den bare køre siden normalt.

Men har alligevel et indtryk af at det er de i har været ved at fortælle mig ;D men det virker ik.
Avatar billede busschou Praktikant
24. april 2005 - 20:36 #7
Det er lige præcis det vi siger... og apo gav endda fuld kode
Avatar billede busschou Praktikant
24. april 2005 - 20:37 #8
dvs apo´s eksemel er ikke vildt godt kan jeg se
Den videresender til den korrekte side
Hvis du vil banne helt så skal du tjekke på hver eneste side
Avatar billede sneakraid Nybegynder
24. april 2005 - 20:49 #9
Jeg har en index fil hvor jeg includer alle undersiderne. Jeg skriver det så i min index.asp, men kan stadig få det til at virke :/ jeg har skrevet det sådan her:

<%
Dim strIP
strIP = Request.ServerVariables("REMOTE_ADDR")

strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\domains\satneme.dk\db\djan.mdb"
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

strSQL = "SELECT * FROM tagwall WHERE ip=" & strIP
Set rs = myConn.Execute(strSQL)

If Not rs.EOF Then
  Response.Redirect "pages/farvel.asp"
Else
%>

<html>
Her kommer alt hvad der står i index.asp, sideopsætning og include og det hele.
</html>

<%
End If

myConn.Close
Set rs = Nothing
Set myConn = Nothing
%>

Jeg sys nu der ser okay ud... men hvorfor virker det ik ? :/
Avatar billede busschou Praktikant
24. april 2005 - 20:51 #10
Er du sikker på ip adressen er i databasen?
Avatar billede apo Praktikant
24. april 2005 - 20:52 #11
Det skulle jeg også til at spørge om ;-)

Hvad får du af fejl?
Avatar billede sneakraid Nybegynder
24. april 2005 - 21:31 #12
jah er sikker på at ip adressen er i databasen. Men kommer ikke med en decideret fejlmeddelelse. Den siger bare "The page cannot be displayed" :/ og jeg mener da at jeg har angivet den rigtige sti til farvel.asp og jah den findes og der står noget i den.
Avatar billede kalp Novice
24. april 2005 - 21:32 #13
I IE tryk funktioner->Internet Indstillinger->avanceret og fjern flueben i "Vis meddelelser om uskadelige http-fejl"

fortæl så hvad fejlen er.
Avatar billede sneakraid Nybegynder
24. april 2005 - 21:36 #14
heh årh okay :)Her kommer fejlen:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in number in query expression 'ip=Min ip stod her'.
Avatar billede kalp Novice
24. april 2005 - 21:41 #15
'ip=Min ip stod her'.

hehe hvad er det for en ip???:o)
Avatar billede kalp Novice
24. april 2005 - 21:41 #16
nåhh okay.. sorry.. vi må nok se noget kode.
Avatar billede apo Praktikant
24. april 2005 - 22:24 #17
Prøv at erstatte:
strSQL = "SELECT * FROM tagwall WHERE ip=" & strIP

Med:
strSQL = "SELECT * FROM tagwall WHERE ip='" & strIP & "'"

Det hjælper måske...

Apo
Avatar billede busschou Praktikant
24. april 2005 - 22:35 #18
Hvordan ser en ip ud ? 111.222.333.444 ? såen cirka
Hvis ip i din database er registreret som tal så er det nok det som går galt da det jo ikke kan være et tal med tre punktummer ;o)
Så sikrer dig at ip er tekst i tabellen og så brug ' som apo beskriver det
Avatar billede sneakraid Nybegynder
25. april 2005 - 13:46 #19
hey.. mange tak for svarene, det virker fint nu.. Så kan i ikke alle sammen lige smide et svar ;P
Avatar billede apo Praktikant
25. april 2005 - 18:20 #20
Svar :-)

Apo
Avatar billede kalp Novice
25. april 2005 - 18:52 #21
kommer her:)
Avatar billede busschou Praktikant
25. april 2005 - 20:18 #22
så må jeg også hellere være med ;o)
Avatar billede apo Praktikant
26. april 2005 - 18:24 #23
Tak for points. Godt at det virker nu :-)

Apo
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