---
title: "Spärra ip"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12624-spärra-ip"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Gimbo"
published: "2001-11-13T19:12:00.000Z"
updated: "2001-11-14T08:48:00.000Z"
replies: 9
views: 268
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/12624-spärra-ip"
---

# Spärra ip

## #1 — Gimbo, 2001-11-13T19:12Z

Hejsan!

För att spärra ett visst ipnummer så använder jag mig av följande:

```
<%

visitorIP = Request.ServerVariables("REMOTE_ADDR") 
If visitorIP = "ipnumret"   Then 
Response.Redirect("..\bannad.asp") 
end if

%>
```

Jaga undrar ifall det finns ngt sätt där man med hjälp av ett formulär och databas kan genom att fylla i formuläret på ett ipnummer så läggs den till i scriptet, i och med det kunna banna flera personer med hjälp av databasen...

Tacksam för svar

Permalänk: https://www.webforum.nu/p/12624

## #2 — LarsG, 2001-11-13T19:23Z

Sida för att mata in

```
<form action='addip.asp' method='POST'>
<input type='TEXT' name='IP'>
<input type='SUBMIT' value='Lägg till IP'>
</form>
```

sida för att mata in i databas

```
set connect = server.createobject("adodb.connection")
connect.open "dsn"
'
'kontrollera om det är  en ny adress
'
sql = "select 1 from bannadAdress where ipNummer = '" & request.form("IP") &"'"
set rs = connect.execute(sql)
if rs.eof then
sql = "insert into bannadAdress(ipNummer) values ('" & request.form("IP") & "')"
connect.execute sql,,128
end if
rs.close
set rs = nothing
connect.close
set connect = nothing
```

coh sedan för att se om en adress inte är tillåten

```
set connect = server.createobject("adodb.connection")
connect.open "dsn"
'
'kontrollera om det är  en ny adress
'
sql = "select 1 from bannadAdress where ipNummer = '" & request.form("IP") & "'"
set rs = connect.execute(sql)
if not rs.eof then
rs.close
set rs = nothing
connect.close
set connect = nothing
Response.Redirect("..\bannad.asp") 
end if
```

Permalänk: https://www.webforum.nu/p/294470

## #3 — Gimbo, 2001-11-13T19:58Z

Hmmm... LarsG, ngt knasa... allt går alldeles utmärkt, ipnummret skrivs till databasen osv. 

jag har två kolumner där, ID och ipNummer, men respons.redirecten fungerar inte. så här ser koden ut:

```
<!-- #include file="..\adovbs.inc" -->

	<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("..\db.mdb")
'kontrollera om det är en ny adress
'
sql = "select 1 from bannadAdress where ipNummer = '" & request.form("IP") & "'"
set rs = connect.execute(sql)
if not rs.eof then
rs.close
set rs = nothing
connect.close
set connect = nothing
Response.Redirect("..\bannad.asp") 
end if
%>
```

jag ändrade bara som du ser anslutningen till databasen från din urspungliga kod...

Permalänk: https://www.webforum.nu/p/294471

## #4 — LarsG, 2001-11-13T20:03Z

Jag klippte och klistrade lite mycket

```
sql = "select 1 from bannadAdress where ipNummer = '" & Request.ServerVariables("REMOTE_ADDR") & "'"
```

så borde det bli

Permalänk: https://www.webforum.nu/p/294472

## #5 — Gimbo, 2001-11-13T20:06Z

MAN TACKAR O BOCKAR!!!

Permalänk: https://www.webforum.nu/p/294473

## #6 — Gimbo, 2001-11-13T21:42Z

LarsG, jag satt och pilla lite med koden du gav mig men kom inte fram till ngt smidigt, det är så här att jag vill vidare utveckla koden, och göra detta:

Att då man lägger till ett ip så ska den bara finnas i databasen i 1vecka och sedan försvinner den automatiskt...

har du några tips, med avseende på koden ovan...

Permalänk: https://www.webforum.nu/p/294474

## #7 — jorgen, 2001-11-13T21:48Z

Hej!

Kanske något i stil med:

```
dim strDelete
strDelete = date() -7
sql = "delete from tabellen where datumfield < #" & strDelete & "# "
Connect.execute(sql)
```

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/294475

## #8 — LarsG, 2001-11-13T21:52Z

Jo, du behöver en extra kolumn, tex slutDatum som är av typen date

```
alter table bannadAdress add slutdatum date
```

Sen så kan du lägga in det slutdatum när du lagrar adressen. Samtidigt så kan du ju lägga in kod som tar bort alla gamla

```
if rs.eof then
sql = "insert into bannadAdress(ipNummer,slutDatum) values ('" & request.form("IP") & "',dateadd('d',7,now())"
connect.execute sql,,128
end if
sql = "delete from bannadAdress where slutdatum < now()"
connect.execute sql,,128
```

Sen så behöver du lägga till ett villkor till när du kollar vilka som är bannade

```
sql = "select 1 from bannadAdress where ipNummer = '" & Request.ServerVariables("REMOTE_ADDR") & "' and slutDatum >= now()"
```

Permalänk: https://www.webforum.nu/p/294476

## #9 — Gimbo, 2001-11-13T21:52Z

Hmm... vart ska jag trycka in denna kodsnutt, i vilken av mina tre filer, den som öppnar databasem, den som stänger den eller i vilken?

och vart i koden??

Permalänk: https://www.webforum.nu/p/294477

## #10 — iceM2, 2001-11-14T08:48Z

Vet ej om jag missuppfattat, men är det verkligen bra att spärra ip-nummer? Vissa har väl fast ip-nummer medans andra alltid får olika sov?

Permalänk: https://www.webforum.nu/p/294478

---

Tråden på webben: https://www.webforum.nu/amne/asp/12624-spärra-ip
