07. marts 2006 - 13:40Der er
19 kommentarer og 1 løsning
Ip til land
Hej Eksperter Jeg sidder og skal bruge et script der ud fra den besøgenes ip (som skal omdannes til land) bliver sendt til dne side der svare til hans land
Jeg går udfra denne <% =Request.ServerVariables("REMOTE_ADDR") %> hvordan man så omregner det til landekoder er jo lige det :-)
Er der en der kan det?
Noget i stil med
Skåret ud i pap - Hvis brugeren er fra danmark "then" send brugeren til den danske side.....
Det bedste er at loade filen ind i en database, da det tager alt for lang tid at søge i en tekstfil. Du kan så lave en søgning i databsen med: SELECT COUNTRY_NAME FROM <TableName> WHERE IP_FROM <= IPNumber and IP_TO >= IPNumber
Vær opmærksom på at den ikke indeholder IP'erne i deres oprindelige form, men i deres tal form. Du skal altså konvertere aaa.bbb.ccc.ddd til tal med: IPNumber = aaa x 16777216 + bbb x 65536 + ccc x 256 + ddd
Evt.. if Request.ServerVariables("REMOTE_ADDR") >= ""& rs("start") & "" AND Request.ServerVariables("REMOTE_ADDR") <= ""& rs("slut") & "" then Response.redirect ("dk.asp") end if
Efter det er loaded i databasen, kan du gøre sådan:
IP = split(Request.ServerVariables("REMOTE_ADDR"),".") IPnr = (ip(0)*16777216) + (ip(1)*65536) + (ip(2)*256) + (ip(3)) set rs = conn.execute("select Land from DinTabel where IP_FROM <= "& IPnr &" and IP_TO >= "& IPnr ) if rs.eof then response.write "land ikke fundet" else response.write "landet er "& rs("land") end if
Hvis du skal redirecte kan du så bare bruge: response.redirect(rs("land") &".asp")
IP = split(Request.ServerVariables("REMOTE_ADDR"),".") IPnr = (ip(0)*16777216) + (ip(1)*65536) + (ip(2)*256) + (ip(3)) set rs = conn.execute("select lande from lande where IP_FROM <= "& IPnr &" and IP_TO >= "& IPnr ) if rs.eof then response.write "land ikke fundet" %>
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.