---
title: "IP-block"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/163590-ip-block"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "WebbisNet"
published: "2007-08-18T15:04:14.000Z"
updated: "2007-08-30T10:55:23.000Z"
replies: 29
views: 1436
page: 1
pages: 2
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/163590-ip-block"
---

# IP-block

_Sida 1 av 2._

## #1 — WebbisNet, 2007-08-18T15:04Z

Jag vill ha en IP-block på medlemmar vid inloggning, jag har det så här nu

```
strAnvNamn = FriendlySQL(Request.Form ("txtUsername"))
strLosen = FriendlySQL(Request.Form ("txtPassword"))
iprs=objConn.Execute("select * from ipblock where username='" & strAnvNamn & "'")
blockatIP = iprs("ip")

If objRS("blockadTill") > Date() then
	Response.Redirect "/main.asp?error=blockad&d="&replace(objRS("blockadTill"),"-","")&""
ElseIf "& IP &" = "& blockatIP &" then
	Response.Redirect "/main.asp?error=blockad&d="&(objRS("ip"))
End If
```

Får fel om att kolumnen inte heter si och så och att det blir eof och bof, vad gör jag för fel

IP är ip i användartabellen  och ip är ipnummer i ip-blocktabellen

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

## #2 — emission, 2007-08-19T13:18Z

Kolla objRS.EOF och bestäm dig för om det är "iprs" eller "objRS" som du vill använda. Datumkontrollen bör du göra direkt i SQL-frågan.

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

## #3 — WebbisNet, 2007-08-19T13:29Z

Ska jag har det så här då, är dålig på joins

```
SQL="SELECT * FROM tblUsers u INNER JOIN ipblock ip ON u.username = ip.username WHERE username = '" & strAnvNamn & "' AND userPass = '" & strLosen & "'"
```

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

## #4 — doggelito, 2007-08-20T07:01Z

Ett litet tips:
Använd inte replace för att formatera datum till sträng som du gör här:

```
Response.Redirect "/main.asp?error=blockad&d="&replace(objRS("blockadTill"),"-","")&""
```

Det ställer bara till det om du ändrar språk nån gång (som inte använder "-" i sina datum)
Utan hämta ut siffrorna för sig istället:

```
Response.Redirect "/main.asp?error=blockad&d= " & year(objRS("blockadTill")) & month(objRS("blockadTill")) & day(objRS("blockadTill"))
```

RED/
Och eftersom ett recordset är ett objekt så ska du "sätta" det:

```
Set objRs = objConn....
```

Och som emission skriver, bestäm dig för om det är iprs eller objRs som gäller! ;)

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

## #5 — WebbisNet, 2007-08-20T17:22Z

> **doggelito skrev:**
>
> Ett litet tips:
> Använd inte replace för att formatera datum till sträng som du gör här:
>
>
> ```
> Response.Redirect "/main.asp?error=blockad&d="&replace(objRS("blockadTill"),"-","")&""
> ```
>
> 
> Det ställer bara till det om du ändrar språk nån gång (som inte använder "-" i sina datum)
> Utan hämta ut siffrorna för sig istället:
>
>
> ```
> Response.Redirect "/main.asp?error=blockad&d= " & year(objRS("blockadTill")) & month(objRS("blockadTill")) & day(objRS("blockadTill"))
> ```
>
> 
> 
> RED/
> Och eftersom ett recordset är ett objekt så ska du "sätta" det:
>
> ```
> Set objRs = objConn....
> ```
>
> 
> Och som emission skriver, bestäm dig för om det är iprs eller objRs som gäller! ;)

set har jag redan, fick inte med det bara

```
SET objConn = connect()
SQL="SELECT * FROM tblUsers WHERE username = '" & strAnvNamn & "' AND userPass = '" & strLosen & "'"
Set objRS= objConn.Execute(SQL)
```

men om jag byter ut min sql här mot joinen jag skrev ovanför, ska det funka då?

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

## #6 — emission, 2007-08-20T18:46Z

Hur ser tabellerna ut?

```
ElseIf "& IP &" = "& blockatIP &" then
```

Kolla igenom den if-satsen.... Den kommer aldrig att bli uppfylld

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

## #7 — WebbisNet, 2007-08-20T18:55Z

IPblock tabellen
\+----------------+----------+
\| ip             \| username \|
\+----------------+----------+
\| 81.233.92.251  \| Nallen   \|
\+----------------+----------+

IP i userstabellen är det IP medlemmen loggar in med, det bara uppdateras, där läggs inga rader till

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

## #8 — emission, 2007-08-20T20:10Z

> **WebbisNet skrev:**
>
> IP i userstabellen är det IP medlemmen loggar in med, det bara uppdateras, där läggs inga rader till

Okej, så vilken relevans har IP-numret för själva blockeringen, om man jämför med att bara blockera själva användaren?

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

## #9 — WebbisNet, 2007-08-20T20:31Z

användaren kan skaffa nytt konto från samma dator, en ip block är mer effektivt

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

## #10 — emission, 2007-08-20T20:44Z

Så egentligen är det IP:t du vill blocka, och det är användarnamnet som är irrelevant?

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

## #11 — WebbisNet, 2007-08-20T20:47Z

ja det är det

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

## #12 — emission, 2007-08-20T22:33Z

Jaha, ja då ska vi inte röra till det med joinar och annat. Sök i block-tabellen (i en egen sökning) efter en aktiv blockering på det aktuella IP:t och blockera om du får en träff.

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

## #13 — WebbisNet, 2007-08-21T00:24Z

hur ska jag skriva om koden för att få en effektiv blockfunktion?

denna funkar ju inte

```
[B]iprs=objConn.Execute("select * from ipblock where username='" & strAnvNamn & "'")[/B]

SET objConn = connect()
SQL="SELECT * FROM tblUsers WHERE username = '" & strAnvNamn & "' AND userPass = '" & strLosen & "'"
Set objRS= objConn.Execute(SQL)
If NOT objRS.EOF THEN 
	Session("userID") = objRS("userID")
	'Session("userID") = objRS("sessionNumber")
	Session("username") = objRS("username")
	Session("inloggningar") = objRS("inloggningar")

if session("userID") = 1 then
objConn.Execute("Update tblUsers SET inloggningar = inloggningar+1 , inloggad = 0, "&_
		"IP= '" & IP & "', Datum = '" & Datum & "'  WHERE userID= 1")
else
		objConn.Execute("Update tblUsers SET Tstamp='"&TDate&"', inloggningar = inloggningar+1 ,poang = poang+0.2, inloggad = "& varInloggad &", "&_
		"IP= '" & IP & "', Datum = '" & Datum & "'  WHERE userID= " & Session("userID") &"")
end if

Response.Cookies("webbisnet")("UserID") = objRS("userID") 
Response.Cookies("webbisnet").Expires = dateadd("n",90,now)

[B]If objRS("blockadTill") > Date() then
Response.Redirect "/main.asp?error=blockad&d= " & year(objRS("blockadTill")) & month(objRS("blockadTill")) & day(objRS("blockadTill"))
ElseIf "& IP &" = "& blockatIP &" then
	Response.Redirect "/main.asp?error=blockad&d="&(objRS("ip"))
End If[/B]
```

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

## #14 — @nders, 2007-08-21T03:13Z

<http://www.webforum.nu/showthread.php?p=1344844#post1344844>

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

## #15 — emission, 2007-08-21T09:06Z

1\. Nu söker du ju på användarnamn i ipblock. Det var ju inte intressant kom vi fram till.
2\. iprs används aldrig. 
3\. ElseIf:en är fortfarande fel. Skaffa en texteditor med kodfärgning så ser du vad som är fel.

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

## #16 — WebbisNet, 2007-08-21T09:25Z

tips på bra editor med syntaxfärgning, hade ett bra prog en gång för asp där man kunde ladda upp till servern så fort man sparade dokumentet men kommer inte ihåg var det hette, textpad är inte så bra på färgning

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

## #17 — WebbisNet, 2007-08-21T09:38Z

Då ska dessa rader fungera bättre

```
Set IPBlockRS=ObjConn.Execute("Select ip from ipblock where ip="&IP)
If not IPBlockRS.EOF Then
	Response.Redirect "/main.asp?error=blockad&d="&(objRS("ip"))
End If
```

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

## #18 — @nders, 2007-08-21T10:03Z

> Då ska dessa rader fungera bättre

Beror väl på vad man menar med bättre, men nej, det bör inte fungera.

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

## #19 — WebbisNet, 2007-08-21T10:15Z

Hur ska jag skriva om koden?

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

## #20 — @nders, 2007-08-21T10:17Z

Det märker du när du ser felmeddelandet du får av ditt kodförslag. =)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/163590-ip-block  
Nästa sida: https://www.webforum.nu/amne/asp/163590-ip-block/page2.md
