webForumDet fria alternativet

Dela up ip.

ASPur ASP

10 svar · 234 visningar · startad av Lazerzubb

Medlem sedan mars 2000542 inlägg
Frågan#1

Kan skulle vilja dela upp en ip, om jag har förstått är en ip inte ett nummer vilket gör att jag inte kan använda BETWEEN, men skulle jag kunna det skulle koden se ut något som liknar det nedan.
Vad jag vill göra är att dela up ip så mycket så möjligt så att jag kan se från vilket land besökaren kommer ifrån.

	Set Connection = Server.CreateObject("ADODB.Connection")
	Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=D:/ip.mdb"

ip1 = request.ServerVariables("REMOTE_ADDR")
SQL = "SELECT * From ip WHERE ip1 BETWEEN ipstart AND ipend

Exempel från databas

ipstart
62.119.44.64

ipend
62.119.255.255

country
se

ip1
62.119.65.89

Vad är det bästa sättet att göra så att jag kan se så bra så möjligt att 62.119.65.89 närmaste match är 62.119.*.*
Och att det är mellan 44-255 i C-blocket?

Medlem sedan nov. 20017 144 inlägg
#2

På vilka nuffror ser man vilket land surfaren kommer ifrån då?

Medlem sedan mars 2000542 inlägg
#3

?
Är ip adressen mellan
62.119.44.64 - 62.119.255.255
Så kommer besökaren från Sverige (SE)

Medlem sedan nov. 20017 144 inlägg
#4

Låter krångligt, finns det inget lättare sätt och se varifrån surfaren kommer?

Medlem sedan mars 2000542 inlägg
#5

Du kan plocka ner språk inställningar, men det är väldigt osäkert

Medlem sedan nov. 20017 144 inlägg
#6

Jag fattar igentligen inte hur det där funkar men kanske något åt detta hållet då?:

ip1 = replace(right(request.ServerVariables("REMOTE_ADDR"),5),".","")
      if cInt(ip1) < 4464 and cInt(ip1) > 255255 then
       'Sverige
      end if
Medlem sedan mars 2000542 inlägg
#7

ps. tänk på att det inte bara finns ett fält i databasen ;)
62.119.0.0 - 62.119.43.255 se
62.119.44.0 - 62.119.44.63 no
62.119.44.64 - 62.119.255.255 se
62.120.0.0 - 62.120.255.255 fr
62.121.0.0 - 62.121.31.255 gb

Medlem sedan dec. 20003 563 inlägg
#8

Vill du dela upp ip-adressen så är det väl bara att splitta vid varje punkt?

Medlem sedan nov. 20017 144 inlägg
#9

Men det går väl att lägga in det hela i någon slags funktion och loopa ut dem.

Medlem sedan mars 2000542 inlägg
#10

Någon som har en kodsnutt av vad de menar?
Första numret är aldrig unikt för ett land, t.ex. 66.*.*.* kan användas i flera länder.

Medlem sedan nov. 20017 144 inlägg
#11

För att plocka ut delarna:

ipSplit=split("62.119.43.255",".")
response.write ipSplit(0)
response.write ipSplit(1)
response.write ipSplit(2)
response.write ipSplit(3)
134 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)