Avatar billede gulvflaesk Nybegynder
07. maj 2003 - 22:28 Der er 25 kommentarer og
1 løsning

Kan dette lade sig gøre?

Heysa...
Jeg er i gang med et website, som er på dansk, norsk, og svensk!
Men jeg vil kun have besøg fra Danmark, Norge og Sverige!
Hvordan kan man gøre det, hvis man da kan?
Der må være et script som sorterer alle andre IP-adresser fra..?
Men det skal selvfølgelig være sådan at alle i Danmark, Norge og Sverige SKAL kunne komme ind!
Håber i kan hjælpe.... :D

Hilsen Gulvflæsk
Avatar billede Spotgun Seniormester
07. maj 2003 - 22:32 #1
Du kan ikke rigtigt sortere ordentligt ud fra IP-adresser længere, da de efterhånden er spredt ud over hele verden, og ikke længere samlet i regionale klumber som i de gode gamle dage...

Så hvis du forsøger at implementere det, vil du helt sikkert lukke nogen ude, som burde ha' adgang.

Men teoretisk set, jo, det kan godt lade sig gøre, at sortere en hel liste ip'er fra...
Avatar billede gulvflaesk Nybegynder
07. maj 2003 - 22:34 #2
Okay...
Men har du et script, som sortere?
Avatar billede staf Nybegynder
07. maj 2003 - 22:35 #3
Lytter lige med fra sidelinien:)
I så fald, hvor findes sådanne ip-oversigter??

Nu er jeg rent teknisk ikke så meget inde i hardware, men er der ikke netkort der får tildelt IP automatisk fra en server. Altså ikke køre på en fast ip, men derimod tildeles en ledig IP af de som serveren har "råderet" over?
Avatar billede Spotgun Seniormester
07. maj 2003 - 22:39 #4
ip = Request.ServerVariables("REMOTE_ADDR")
if ip = "1.2.3.4" Then
    Response.Write "Din ip er bannet fra denne side!"
else
    ' vis siden
end if

Det her er et ganske simpelt script, til at checke for enkelte ip-adresser. Det bedste ville være at knalde alle de ip'er du vil sortere fra (eller dem du vil tillade - hvad der nu er mindst af) i en database, og så lave et udtræk og pløje igennem...

Det ville komme til at se nogenlunde sådan ud (jeg går ud fra du allerede kender til at åbne for databaser og recordsets)

ip = Request.ServerVariables("REMOTE_ADDR")
while not rs.eof
  if ip = rs("ip") Then
    response.Write "Din ip er bannet fra denne side!"
  else
    ' vis siden
  end if
  rs.movenext
wend
Avatar billede larsen Nybegynder
07. maj 2003 - 22:40 #5
Hvis det er, kan du måske få svar fra DK-hostmaster, hvordan det er delt op.
Ellers kan de måske henvise til nogen som ved det :-)
Avatar billede Spotgun Seniormester
07. maj 2003 - 22:41 #6
Jeg ved ikke hvor man kan finde ip-oversigterne henne, men hvis det lykkedes at finde nogen, er de sikkert ikke ret brugbare længere. I gamle dage mener jeg at danmark havde fået tildelt en stavl adresser der startede med 195, men idag er det område for længst brugt, og vi er begyndt at overtage andre områder, hvor der nu var plads.

Mht. staf's spørgsmål, så er de ip'er du checker på, ikke dem du får tildelt fra serveren (hvis du tænker på et internt netværk) - det er de eksterne ip'er. De kan dog rigtigt nok også tildeles fra en server af, dynamisk (f.eks. ved opkaldsforbindelser) mens flere og flere adsl'er kører med fast ip.
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 22:42 #7
Hejsa,

Det kan gøres, men du vil automatisk sortere nogle fra, nemlig de danskere, som har sat deres Windows til at køre engelsk!

F.eks:

myLng = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")

Select case myLng
    case "da"
      Response.Write "Denne bruger har en dansk browser"
    case "no"
      Response.Write "Denne bruger har en Norsk browser"
    case else
      Response.Write "Ha! Du må ikke komme ind!"
End select

Mvh,

/thomas regin.
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 22:50 #8
Der findes dog en anden mulighed, hvis du er rigtigt stærk i programmering:

Lav en webservice i C# (Eller lign.), som automatisk poster en IP-request hos RIPE.NET, og aflæs country-koden via en httpResponse. Sådan finder du med sikkerhed ud af hvilket land brugeren kommer fra!

Mvh,

/thomas regin.
Avatar billede gulvflaesk Nybegynder
07. maj 2003 - 22:52 #9
> Thomas Regin
Jeg er total skod til at programmere...
Men er der en som kan lave en kode i asp jeg kan sætte direkte ind?
Så ville jeg blive over lykkelig :D
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 22:56 #10
Okay.. Så benyt mit eksempel ovenfor! Den er ikke 100% idiot-sikret, men jeg gætter på, at omkring 99% af alle danskere kører med danske settings i deres Windows:

Derfor indtast følgende i dit "login-script":

Select case Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
    Case "da"
        Response.Redirect("userok.asp?lng=da")
    Case "no"
        Response.Redirect("userok.asp?lng=no")
    Case "se"
        Response.Redirect("userok.asp?lng=se")
    Case else
        Response.Write "Du har desværre ikke adgang til denne service"
        Response.End
End Select

Jeg er ikke HELT sikker på "no" og "se", men giv mig 2 sekunder, så skal jeg finde ud af, hvad deres HTTP_ACCEPT_LANGUAGE-variabel hedder!

Mvh,

/thomas regin.
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 22:59 #11
Okay..

Sverige hedder "sv".

Det vil sige: Case "sv" istedet for "se" i koden ovenfor!

Norge og Danmark er okay!

/thomas regin.
Avatar billede gulvflaesk Nybegynder
07. maj 2003 - 23:02 #12
Er du sikker?

<title>Spray -  Här börjar internet!</title>
<meta name="description" content="Spray - Här börjar internet!">
<meta name="keywords" content="mail, e-post, gratis, internet, portal, startsida, sök, sökmotor, lycos, sidbyggarverktyg, hemsida, sms, mobil, chat, sex, nyheter, nöje, sprayklubben, vykort, bilnytt">
<meta http-equiv="content-language" content="se">

Dette er rippet fra Spray.se!
Content-language: se
Eller er det ikke det du mener?
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 23:04 #13
Jeg er ikke helt sikker... ;)

Jeg har oplysningerne fra Microsoft:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/indexsrv/html/ixuwebqy_7gfn.asp

Og dem kan man ikke stole på!.. Men det tyder på, at du har ret i ovenstående eksempel fra Spray! :)

/thomas.
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 23:07 #14
Men det er heldigvis nemt at teste:

Åbn dit kontrol panel og dit "Locale settings" (Husker ikke det danske navn), og vælg "Sverige" i din "location".. Derefter kan du se, hvad der står i browseren, når du requester HTTP_ACCEPT_LANGUAGE

Mvh,

Thomas.
Avatar billede gulvflaesk Nybegynder
07. maj 2003 - 23:10 #15
Kan ikke finde noget som hedder "Locale settings"...
Jeg har dansk XP!
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 23:12 #16
Okay..

Kontrol Panel/Dato, tid, sprog og Regionale indstillinger/

Derefter skifter du til svensk over hele linien!

/thomas
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 23:14 #17
Okay.. Om igen:

Kontrol Panel/Dato, tid, sprog og Regionale indstillinger/Regional og Sprog-indstillinger

Sådan.. Nu tror jeg den er der!.. Jeg bruger den Engelske version, så dette er frit oversat! ;)

/thomas
Avatar billede gulvflaesk Nybegynder
07. maj 2003 - 23:18 #18
Ok.. Jeg har testet det og det virker fint!
Meeen... Er det muligt at gäre sådan at dem der ikke har "dk" "no" "sv" bliver smidt over på en anden side?
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 23:20 #19
Det er det ihvertfald!

Så bruger du bare samme system:

Select case Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
    Case "da"
        Response.Redirect("userok.asp?lng=da")
    Case "no"
        Response.Redirect("userok.asp?lng=no")
    Case "se"
        Response.Redirect("userok.asp?lng=se")
    Case else
        Response.Redirect("http://www.disney.com")
End Select

Mvh,

/thomas.
Avatar billede gulvflaesk Nybegynder
07. maj 2003 - 23:29 #20
Hey det virker perfekt!
Sådan der :D
Her får du dine velfortjente point!
Avatar billede gulvflaesk Nybegynder
07. maj 2003 - 23:30 #21
Nårh ja... 1000 tak for hjaelpen :D
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 23:32 #22
Mange tak for det! ;)

Herligt, at det virker !!

Mvh,

Thomas Regin.
Avatar billede gulvflaesk Nybegynder
07. maj 2003 - 23:49 #23
Lige et sidste spørgsmål :D
Hvordan ser koden ud, hvis det er at folk fra Norge, Danmark og sverige skal blive på siden.
Og alle andre sendes til disney.com?

Jeg er total noob...
Avatar billede thomas_regin Nybegynder
08. maj 2003 - 00:07 #24
Hehe.. Det er helt okay!.. :)

Select case Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
    Case "da"
        Response.Write "Vi bliver på siden"       
    Case "no"
        Response.Write "Vi blir på siden"
    Case "se"
        Response.Write "Vi stannar på sidan"
    Case else
        Response.Redirect("http://www.disney.com")
End Select

Mvh,

Thomas.
Avatar billede gulvflaesk Nybegynder
08. maj 2003 - 00:08 #25
Tak... Du er for sej :D
Avatar billede thomas_regin Nybegynder
08. maj 2003 - 00:10 #26
Hæh.. Mange tak!! :)

/thomas.
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